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