Logstash Kafka输入插件的低性能,除了指标之外还有无操作输出

时间:2016-07-08 15:12:58

标签: logstash apache-kafka

测试环境如下:

CPU: Intel L5640 2.26 GHz 6 cores * 2 EA
Memory: SAMSUNG PC3-10600R 4 GB * 4 EA
HDD: TOSHIBA SAS 10,000 RPM 300 GB * 6 EA

OS: CentOS release 6.6 (Final)

Logstash 2.3.4

我使用了以下配置:

input {
  kafka {
    zk_connect => '1.2.3.4:2181'
    topic_id => 'some-log'
    consumer_threads => 1
  }
}

filter {
  metrics {
    meter => "events"
    add_tag => "metric"
  }
}

output {
  if "metric" in [tags] {
    stdout {
      codec => line {
        format => "Count: %{[events][count]}"
      }
    }
  }
}

我得到了以下结果:

./bin/logstash -f some-log-kafka.conf                                
Settings: Default pipeline workers: 24
Pipeline main started
Count: 9614
Count: 23080
Count: 37087
Count: 50815
Count: 64517
Count: 78296
Count: 91977
Count: 105990

默认flush_interval为5秒,因此每5秒看起来大约为14K(每秒2.8K)。

consumer_threads设置为10,我得到以下结果:

./bin/logstash -f impression-log-kafka.conf 
Settings: Default pipeline workers: 24
Pipeline main started
Count: 9599
Count: 23254
Count: 37253
Count: 51029
Count: 64881
Count: 78868
Count: 92663
Count: 106267

看起来增加consumer_threads没有太大区别。

基于我简单的无操作消费者基准,我预计大约30K和至少10K,但它只是预期性能的1/10。

如何提升其表现?

补充评论: 使用Kafka客户端Java库,我正在使用引导服务器,而使用Logstash Kafka输入插件,我使用的是ZooKeeper(引导服务器没有选项)。我不确定这会导致巨大的差异。

0 个答案:

没有答案