iLogtail多行日志采集性能瓶颈主要源于多行正则匹配算法使用了 boost::regex_match 进行全量匹配,随着日志行长度增加,匹配时间线性增长。优化方案是将 boost::regex_match 替换为 boost::regex_search 并添加 boost::match_continuous 标志,使正则只匹配日志行首而非整行内容。优化后单线程多行采集速度从 98MB/s 提升到 350MB/s,提升约 257%。在 8 线程配置下,多行正则采集速度可达 370MB/s,完全满足 300MB/s 的需求。用户只需升级 iLogtail 到 2.1 及以上版本即可自动享受该优化,无需修改采集配置。系统会自动检测并移除行首正则中的 .* 后缀以启用部分匹配。
加载中...