es性能调优

elk上线所有应用后,发现日志有延迟现象,少则延迟几分钟,多则延迟半个多小时,查看kafka,发现有大量的消息堆积,于是,我就多增加了几台logstash的机器来消费日志,但是经过观察后,日志延迟并没有解决,反而logstash大量报错 retrying failed action with response code: 429 es_rejected_execution_exception ,经过查阅资料,发现是瓶颈在es这里,logstash写入的速度太快,但是es接受的速度太小,于是产生大量的报错,

在kibana中查看es的线程池使用情况:get _nodes/stats/thread_pool?pretty
发现有大量的rejected。说明es的性能有问题,来不及写入的日志被丢弃了。

es调优如下:

线程池大小调整为最大值9

队列大小调整为1000

thread_pool:
write:
size: 9
queue_size: 1000

logstash调优如下:

pipeline.workers设置为4 与cpu数量一致

pipeline.batch.size设置为1000 默认值为125

pipeline.workers: 4

pipeline.output.workers: 8

pipeline.batch.size: 1000
pipeline.batch.delay: 15

你可能感兴趣的:(es性能调优)