Logtail提升采集性能

5次阅读

共计 845 个字符,预计需要花费 3 分钟才能阅读完成。

默认性能限制

为防止滥用消耗过多机器资源,我们对默认安装的 Logtail 进行了一系列的资源限制。默认安装的 Logtail 最多日志采集速度为 20M/s,20 个并发发送。

其他资源限制请参考:启动参数 https://help.aliyun.com/docum… 中的默认配置。

采集能力

单核能力

如果放开发送流控,Logtail 默认单核的能力大致如下(具体根据不同正则、日志类型、采集提取的 key 数量、机器配置等会有一定浮动):

备注:测试环境

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

日志格式建议

根据您的使用目的,合理选择对应的日志格式

  1. 搬数据:使用极简模式,性能最高
  2. 数据分析:多字符分隔符 > 单字符分隔符 >JSON 模式 > 正则模式
  3. Java 堆栈类型数据:正则模式
  • 注意:正则模式采集性能和正则优化有非常大关系。

如何放开资源限制

可通过调整 Logtail 的启动参数来放开默认的资源限制,下面我们推荐 2 种配置方式:

  • 注意:Logtail 使用短连接发送数据,如果发送并发过高,建议调整服务器的 tcp 参数,防止过多 time_wait
  • 调整方式:sudo sysctl -w net.ipv4.tcp_tw_timeout=5

单核小资模式

在配置文件末尾追加以下两个参数,注意 JSON 需合法。

多核极致模式

在配置文件末尾追加以下几个参数,需保证,注意 JSON 需合法。

  • 注意:需保证 cpu_usage_limit > process_thread_count


本文作者:元乙

原文链接

本文为云栖社区原创内容,未经允许不得转载。

正文完
 0