调优和剖析日志记录的性能
1、配置参数调优
可以通过调节以下配置项,对性能进行调优:
1)、pipeline.workers
该参数可控制output或filter插件的工作线程数(只能设置正整数),当发现事件正在备份或CPU没有饱和,则可以增加工作线程,以提高性能。一般为CPU线程数
2)、pipeline.batch.size
设置批量执行event的最大值,该值是用于input的批量处理事件值,再打包发送给filter和output,增加该值可以在一定范围内提高性能,但是需要增加额外的内存开销。
3)、pipeline.batch.delay
批处理的最大等待值(input需要按照batch处理的最大值发送到消息队列,但是不能一直等,所以需要一个最大的超时机制)。
2、默认管道设置的修改建议
1)、管道中所有运行中的event都与配置参数:pipeline.workers和pipeline.batch.size有关,而间歇接收大型事件的管道需要足够的内存来处理这些峰值,需要相应的设置LS_HEAP_SIZE值。
2)、测量每一个参数的变化,以确保它增加而不是减少性能。
3)、确保logstash额外留足够的内存,以应对突然增加的事件消耗。
4)、一般pipeline.workers的数量要大于Cpu的核心数,因为output的io等待会消耗大量的空闲时间。
5)、Java中的线程有名称,您可以使用jstack、top和VisualVM图形工具来确定给定线程使用哪些资源。
6)、在Linux平台上,logstash用一些描述性的东西来标记所有的线程。例如,输入显示为基础。
7)、关闭打印,stdout{codec => rubydebug}
参考链接:https://blog.csdn.net/it_lihongmin/article/details/79728812
参考链接:https://blog.csdn.net/weixin_43390992/article/details/105232927