Logtail提升采集性能

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
对象存储 OSS,内容安全 1000次 1年
简介: 为防止滥用消耗过多机器资源,我们对默认安装的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
}
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
25天前
|
消息中间件 存储 Prometheus
Grafana Mimir:支持乱序的指标采集
Grafana Mimir:支持乱序的指标采集
29 4
|
30天前
|
数据采集 监控 Unix
性能监控之Telegraf+InfluxDB+Grafana实现结构化日志实时监控
【8月更文挑战第1天】性能监控之Telegraf+InfluxDB+Grafana实现结构化日志实时监控
100 0
|
4月前
|
Prometheus 监控 关系型数据库
|
数据采集 消息中间件 Prometheus
夜莺系列 3 监控采集Categraf
Categraf监控采集agent
1072 0
|
4月前
|
存储 JSON 弹性计算
Logtail日志采集支持高精度时间戳
本文为您介绍在使用Logtail进行日志采集时,如何从原始日志中提取毫秒精度时间戳。
143 0
Logtail日志采集支持高精度时间戳
|
4月前
|
数据采集 监控 Kubernetes
【最佳实践】使用CloudLens排查iLogtail采集配置错误问题
本文主要介绍如何使用CloudLens for SLS定位和解决iLogtail日常使用中的常见问题之一:采集配置错误问题。
270 0
【最佳实践】使用CloudLens排查iLogtail采集配置错误问题
|
数据采集 运维 监控
本地机器安装Logtail接入到阿里云SLS日志服务
本地机器安装Logtail接入到阿里云SLS日志服务
1292 0
本地机器安装Logtail接入到阿里云SLS日志服务
|
监控 Kubernetes 安全
可观测性:监控与日志|学习笔记
快速学习可观测性:监控与日志
269 0
可观测性:监控与日志|学习笔记
|
JSON 运维 Kubernetes
K8s场景下Logtail组件可观测方案升级-Logtail事件监控发布
SLS针对Logtail本身以及Logtail的管控组件alibaba-log-controller,采用K8s事件的方式,将处理流程中的关键事件透出,从而让用户能够更清楚的感知其中发生的异常。
527 0
K8s场景下Logtail组件可观测方案升级-Logtail事件监控发布
|
SQL 存储 数据采集
用户指南—监控与告警—计算资源监控
为方便您掌握实例的运行状态,PolarDB-X提供监控查询功能。您可以在控制台上查看计算资源监控和存储资源监控信息。其中计算资源监控展示了实例计算层资源的性能数据,本文将介绍如何查看计算资源监控信息。
130 0
用户指南—监控与告警—计算资源监控
下一篇
云函数