Logtail提升采集性能

简介: 为防止滥用消耗过多机器资源,我们对默认安装的Logtail进行了一系列的资源限制。默认安装的Logtail最多日志采集速度为20M/s,20个并发发送。如需提高采集性能,请参考本篇文章。

默认性能限制

为防止滥用消耗过多机器资源,我们对默认安装的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

日志格式建议

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

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

如何放开资源限制

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

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

单核小资模式

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

{
    ...
    "cpu_usage_limit" : 2,
    "max_bytes_per_sec" : 50000000,
    "send_request_concurrency" : 50
}

多核极致模式

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

  • 注意:需保证 cpu_usage_limit > process_thread_count
{
    ...
    "cpu_usage_limit" : 5,
    "process_thread_count" : 4,
    "max_bytes_per_sec" : 50000000,
    "send_request_concurrency" : 50
}
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
分布式计算 并行计算 数据库
Schedulerx2.0分布式计算原理&最佳实践
1. 前言 Schedulerx2.0的客户端提供分布式执行、多种任务类型、统一日志等框架,用户只要依赖schedulerx-worker这个jar包,通过schedulerx2.0提供的编程模型,简单几行代码就能实现一套高可靠可运维的分布式执行引擎。
28189 2
|
6月前
|
人工智能 Kubernetes 机器人
一键部署 OpenClaw:基于 ACS Agent Sandbox 构建企业级 AI Agent 应用
本文将详细介绍如何基于 ACS Agent Sandbox 一键部署 OpenClaw,实现按需休眠与秒级唤醒,并介绍其与钉钉等应用的集成方法。
1866 7
|
存储 运维 开发工具
警惕日志采集失败的 6 大经典雷区:从本地管理反模式到 LoongCollector 标准实践
本文探讨了日志管理中的常见反模式及其潜在问题,强调科学的日志管理策略对系统可观测性的重要性。文中分析了6种反模式:copy truncate轮转导致的日志丢失或重复、NAS/OSS存储引发的采集不一致、多进程写入造成的日志混乱、创建文件空洞释放空间的风险、频繁覆盖写带来的数据完整性问题,以及使用vim编辑日志文件导致的重复采集。针对这些问题,文章提供了最佳实践建议,如使用create模式轮转日志、本地磁盘存储、单线程追加写入等方法,以降低日志采集风险,提升系统可靠性。最后总结指出,遵循这些实践可显著提高故障排查效率和系统性能。
2616 23
|
11月前
|
云安全 人工智能 安全
|
人工智能 运维 监控
从大规模恶意攻击 DeepSeek 事件看 AI 创新隐忧:安全可观测体系建设刻不容缓
唯有通过全行业的协同努力,加强整体、完善的网络安全可观测建设,才能为 AI 技术的创新和发展构建一个安全而稳固的环境。我们期盼并相信,在攻克这些网络安全难题之后,AI 创新将迎来更加安全、灿烂的未来。
|
Prometheus Cloud Native Java
OpenTelemetry: 经得起考验的工具
OpenTelemetry: 经得起考验的工具
2915 2
|
存储 数据采集 监控
Logtail技术分享(一) : Polling + Inotify 组合下的日志保序采集方案
logtail是阿里云一款进行日志实时采集的Agent,当前几十万台部署logtail的设备运行在各种不同环境上(集团、蚂蚁、阿里云,还有用户部署在公网、IOT设备),每天采集数PB的数据,支撑上千种应用的日志采集。
19402 2
|
弹性计算 运维 监控
【最佳实践】iLogtail使用Grok语法解析日志
目标读者数字化系统开发运维(DevOps)工程师、稳定性工程师(SRE)、可观测平台运维人员等。背景介绍日志的形式往往多种多样,如果只是简单的读入日志数据,将很难进行搜索、分析及可视化。将原始的日志数据解析为结构化的数据,将大幅提升数据的可用性,方便用户进行快捷的“字段-值”的查询和分析。最基础的解...
1754 1
【最佳实践】iLogtail使用Grok语法解析日志
|
存储 JSON 监控
【最佳实践】使用CloudLens排查日志时间解析错误问题
本文主要介绍如何使用CloudLens for SLS定位和解决iLogtail日常使用中的常见问题之一:日志时间解析错误问题。
1211 1
【最佳实践】使用CloudLens排查日志时间解析错误问题
|
存储 Kubernetes 监控
K8s挂载PVC日志采集“轻量级”玩法
本文介绍一种使用K8s挂载PVC日志采集时的轻量级部署方式。
2038 1
K8s挂载PVC日志采集“轻量级”玩法