为防止滥用消耗过多机器资源,咱们对默认安装的Logtail进行了一系列的资源限制。默认安装的Logtail最多日志采集速度为20M/s,20个并发发送。html
其余资源限制请参考:启动参数 https://help.aliyun.com/document_detail/32278.html 中的默认配置。服务器
若是放开发送流控,Logtail默认单核的能力大体以下(具体根据不一样正则、日志类型、采集提取的key数量、机器配置等会有必定浮动):并发
极简模式tcp |
正则模式性能 |
分隔符模式测试 |
JSON模式优化 |
||
单核能力spa (单核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个线程后,性能几乎没有上涨。
根据您的使用目的,合理选择对应的日志格式
可经过调整Logtail的启动参数来放开默认的资源限制,下面咱们推荐2种配置方式:
sudo sysctl -w net.ipv4.tcp_tw_timeout=5
在配置文件末尾追加如下两个参数,注意JSON需合法。
{ ... "max_bytes_per_sec" : 50000000, "send_request_concurrency" : 50 }
在配置文件末尾追加如下几个参数,需保证,注意JSON需合法。
{ ... "cpu_usage_limit" : 5, "process_thread_count" : 4, "max_bytes_per_sec" : 50000000, "send_request_concurrency" : 50 }
本文做者:元乙
本文为云栖社区原创内容,未经容许不得转载。