从Logstash输出到事件中心的速度很慢

时间:2018-06-26 15:29:10

标签: java logstash jruby azure-eventhub telegraf

我目前正在为Logstash开发一个Azure Event Hubs输出插件,但遇到一个问题,运行约30分钟后,logstash会卡住一点,因为到事件中心的输出花费的时间太长。

我的技术栈:

Telegraf通过tcp发送到logstash。

Logstash使用默认管道设置。

Logstash使用java createSync和sendSync方法输出到事件中心。

我如何创建连接:

connection_builder = EventHubs::ConnectionStringBuilder.new()
connection_builder.setNamespaceName(@service_namespace)
connection_builder.setEventHubName(@event_hub)
connection_builder.setSasKeyName(@sas_key_name)
connection_builder.setSasKey(@sas_key)

@executor_service = java::util::concurrent::Executors.newSingleThreadExecutor()
@eventhub_client = EventHubs::EventHubClient.createSync(connection_builder.toString(), @executor_service)

我如何发送活动:

event_data = EventHubs::EventData.create(body.to_java_bytes)
partition_key = get_partition_key(event)
        @eventhub_client.sendSync(event_data, partition_key)

为什么发送到事件中心这么慢?

您是否认为通过AMQP发送会出现性能问题?

如果您需要更多上下文或代码,请询问,我将在下面发布。

0 个答案:

没有答案