OpenAI 如何将 Fluent Bit CPU 使用率降低 50%,释放 3 万核计算资源
OpenAI 每天处理超过 9 PB 的日志,对 AI 研究和推理生产至关重要。所有工作负载都运行在 Kubernetes 上,每个节点运行多个 DaemonSet:Fluent Bit、OpenTelemetry Collector、DataDog Agent 等。由于 OpenAI 快速增长,一些日志工作负载向不同存储发送了重复日志,OpenAI 技术人员 Fabian Ponce 称之为“DaemonSet 大杂烩”。 最繁忙的主机开始触发 Linux CFS 限速。日志 DaemonSet 被限速时,日志会丢失。对于 AI 研究来说,每条日志都可能包含重要信息,丢失不可接受。团队无法增加更多 CPU,基础设施已满负荷。 解决方案:用 perf 找根因 发现 Ponce 加入可观测性团队第一个月,使用 Linux 性能分析工具 perf 对 Fluent Bit 部署进行分析。 报告显示异常:CPU 使用时间大部分没用在字符串处理上,反而是 stat 系统调用耗费最多。问题出在 Fluent Bit 如何监控日志文件。默认用 Linux 的 inotify API 监测文件变化,...
