Logtail提升采集性能
2019獨角獸企業重金招聘Python工程師標準>>>
默認性能限制
為防止濫用消耗過多機器資源,我們對默認安裝的Logtail進行了一系列的資源限制。默認安裝的Logtail最多日志采集速度為20M/s,20個并發發送。
其他資源限制請參考:啟動參數?https://help.aliyun.com/document_detail/32278.html?中的默認配置。
采集能力
單核能力
如果放開發送流控,Logtail默認單核的能力大致如下(具體根據不同正則、日志類型、采集提取的key數量、機器配置等會有一定浮動):
?
| ? | ? | 極簡模式 | 正則模式 | 分隔符模式 | JSON模式 |
| 單核能力 (單核100%CPU) | 采集速度 | 100MB/s | 20MB/s | 35MB/s | 30MB/s |
| 內存占用 | 80 | 80 | 80 | 80 | |
| 采集速度 0.1 MB/s(200條/s) | CPU占用(單核) | 0.3% | 0.6% | 0.5% | 0.5% |
| 內存占用 | 32 | 32 | 32 | 32 | |
| 采集速度 1 MB/s(2000條/s) | CPU占用(單核) | 1.3% | 5.0% | 3.5% | 3.5% |
| 內存占用 | 32 | 32 | 32 | 32 |
?
備注:測試環境
CPU :Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
MEM : 64GB
OS : Linux version 2.6.32-220.23.2.ali1113.el5.x86_64
多核能力
Logtail默認只開一個線程處理數據,如果開啟多核,性能會有提升,但并不是線性關系,實測最多開到8個線程后,性能幾乎沒有上漲。
- 極簡模式最高性能可達:440MB/s
- 正則最高性能可達:70MB/s
- 分隔符最高性可達:75MB/s
- JSON最高性能可達:75MB/s
日志格式建議
根據您的使用目的,合理選擇對應的日志格式
- 注意:正則模式采集性能和正則優化有非常大關系。
如何放開資源限制
可通過調整Logtail的啟動參數來放開默認的資源限制,下面我們推薦2種配置方式:
- 注意:Logtail使用短連接發送數據,如果發送并發過高,建議調整服務器的tcp參數,防止過多time_wait
- 調整方式:sudo sysctl -w net.ipv4.tcp_tw_timeout=5
單核小資模式
在配置文件末尾追加以下兩個參數,注意JSON需合法。
{..."max_bytes_per_sec" : 50000000,"send_request_concurrency" : 50 }多核極致模式
在配置文件末尾追加以下幾個參數,需保證,注意JSON需合法。
- 注意:需保證 cpu_usage_limit > process_thread_count
?
本文作者:元乙
原文鏈接?
本文為云棲社區原創內容,未經允許不得轉載。
?
轉載于:https://my.oschina.net/u/3827390/blog/3059235
總結
以上是生活随笔為你收集整理的Logtail提升采集性能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 6.5 学习记录
- 下一篇: 深入理解ASCII,Unicode和UT