logstash吞吐量太低了怎么优化呢?

匿名 | 发布于2019年01月20日 | 阅读数:235

QQ截图20190120141917.png

4台logstash节点,每个节点的jdk给的内存是15G,可是4台加起来,吞吐量也太低了,请高人指教,谢谢
已邀请:

rochy - rochy_he@jointsky

赞同来自:

Logstash 性能调优主要参数
  • pipeline.workers:设置启动多少个线程执行 fliter 和 output;当 input 的内容出现堆积而 CPU 使用率还比较充足时,可以考虑增加该参数的大小;
  • pipeline.batch.size:设置单个工作线程在执行过滤器和输出之前收集的最大事件数,较大的批量大小通常更高效,但会增加内存开销。输出插件会将每个批处理作为一个输出单元。;例如,ES 输出会为收到的每个批次发出批量请求;调整 pipeline.batch.size 可调整发送到 ES 的批量请求(Bulk)的大小;
  • pipeline.batch.delay:设置 Logstash 管道的延迟时间, 管道批处理延迟是 Logstash 在当前管道工作线程中接收事件后等待新消息的最长时间(以毫秒为单位);简单来说,当 pipeline.batch.size 不满足时,会等待 pipeline.batch.delay 设置的时间,超时后便开始执行 filter 和 output 操作。

 
请根据具体情况,调整 batch.size 或者 works 的数量

zqc0512 - andy zhou

赞同来自:

你filter里面没撒内容的话,JVM 搞大 就调整 pipeline.workers 一般小于等于CPU核数;pipeline.batch.size 大内存调整这个 这个是个波形状态,越大不是越好,要监控调整一个合适值 ;pipeline.batch.delay 一般根据数据量来评估这个值 控制在5秒内就行。这个与ES的bulk size有关系的。

puyunjiafly

赞同来自:

为什么不用kafka + logstash来做呢?
其实logstash就是个解析中转  把存储交给kafka这样的主键来做吧
顺便学习新的主键kafka了 0-0.。

要回复问题请先登录注册