iLogtail多行日志采集性能瓶颈的根本原因在于其使用boost::regex_match函数进行全量正则匹配。该函数会对每行日志的全部内容进行正则匹配,而不仅仅是行首部分。测试表明,随着与行首正则无关的日志长度增加(即.*匹配的部分),boost::regex_match的执行时间呈线性增长。这意味着大部分匹配时间花在了与多行分割逻辑无关的内容上。在单线程测试中,单行日志采集速度为425MB/s,而多行日志采集速度仅为98MB/s,性能下降近80%。这种全量匹配的低效性是导致高负载场景下采集延迟的核心技术原因。




