CnOps 社区
首页开源项目实践文章视频课程常见问答开发者工具
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具

CnOps 社区

愿景

CnOps 社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页问答iLogtail多行采集和单行采集的性能差距是多少?优化后差距如何变化?

iLogtail多行采集和单行采集的性能差距是多少?优化后差距如何变化?

#数据采集#日志#iLogtail

CNOps | 2026-04-14

优化前,iLogtail 单线程下单行日志采集速度为 425MB/s,而多行日志采集速度仅为 98MB/s,性能下降近 80%,差距非常显著。这是因为多行采集需要对每一行进行行首正则匹配来判断是否为新日志的开始,旧算法使用 boost::regex_match 全量匹配整行,导致了严重的性能退化。优化后采用 boost::regex_search 配合 boost::match_continuous 仅匹配行首,多行采集速度提升到 350MB/s,达到单行采集 425MB/s 的 82.35%。这意味着优化将多行与单行的性能差距从约 77% 缩小到约 18%,多行采集的额外开销已经降到了可接受的范围内。在 8 线程配置下多行采集可达 370MB/s,进一步缩小了差距。