分布式追踪数据分析与系统性能优化
1. 性能指标检测与诊断的区别
检测性能指标的下降与诊断其原因是不同的问题。检测通常由指标系统完成,这些系统会无采样地收集高精度遥测数据,并进行大量聚合以降低记录成本。聚合数据适用于监控和告警,但在解释问题方面效果不佳。接下来将探讨使用分布式追踪分析应用性能的几种技术。
2. 关键路径分析
2.1 关键路径的定义
许多追踪工具具备分析追踪中“关键路径”的能力(遗憾的是,目前 Jaeger 和 Zipkin 都未实现该功能)。关键路径是理解并行执行的各个组件如何影响整个分布式事务端到端延迟的经典技术。关键路径的定义为:“关键路径是指那些段执行时间的微分增加会导致端到端延迟产生相同微分增加的段的集合”。简单来说,如果增加追踪中某个跨度的持续时间而不影响事务的整体持续时间,那么该跨度不在关键路径上。分析追踪时,我们关注关键路径上的跨度,因为优化这些跨度可以降低整体端到端延迟,而优化关键路径外的跨度效果不佳。
2.2 关键路径的可视化及应用
关键路径不仅取决于整个追踪,还与当前的可视化缩放级别有关。例如,查看完整追踪时,api - server 跨度只有一小部分显示在关键路径上,因为其余时间花在了下游调用上。但如果折叠该跨度下的所有细节,专注于前三个服务的关键路径,那么整个 api - server 跨度就会成为关键路径的一部分。
使用关键路径可视化来改善请求端到端延迟的方法如下:
- 忽略关键路径外的所有跨度,因为优化它们不会降低延迟。
- 寻找关键路径上最长的跨度。例如,若能将任何给定跨度的持续时间减少 50%,那么对第一个 mysql.Q
超级会员免费看
订阅专栏 解锁全文
3281

被折叠的 条评论
为什么被折叠?



