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