調優和剖析日志記錄的性能
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