关于「日志采样」的一些思考及实践

💡 原文中文,约2600字,阅读约需7分钟。
📝

内容提要

系统日志对用户操作追踪和问题排查至关重要,但过量日志会影响性能。建议通过请求采样控制日志输出,在高吞吐量时降低采样比例,反之则提高。可通过封装组件实现请求线程与异步线程的日志采样一致性,降低业务系统改造风险。

🎯

关键要点

  • 系统日志对用户操作追踪和问题排查至关重要。
  • 过量日志会影响系统性能,尤其在高吞吐量时。
  • 建议通过请求采样控制日志输出,动态调整采样比例。
  • 可以通过封装组件实现请求线程与异步线程的日志采样一致性。
  • 当前缺乏统一的日志框架,各团队使用不同的日志封装方式。
  • 采样算法可以是随机或基于traceId取模,需考虑场景化采样。
  • 扩展API应尽量减少业务系统的改动量。
  • 需要保证全局请求traceId的一致性,避免日志混乱。
  • 在处理大量错误日志时,需控制打印速率和磁盘IO。
  • 促销交易正在进行相关技术改造,以实现请求线程的日志采样。
➡️

继续阅读