分布式追踪助力性能优化与恢复
1. 相关性分析:挖掘性能改进机会
在提升基础性能方面,相关性分析是分布式追踪为开发者提供的强大工具。它不仅能验证或反驳现有的性能假设,还能创造新的假设并提供支持证据,引导开发者找到最具潜力的性能改进机会。
1.1 传统错误分析的局限性
传统上,通过查看失败请求样本中的常见错误来找出失败的根本原因,但这种方法容易出错。例如,有两种错误,错误 1 在 90% 的失败请求追踪中出现,错误 2 在所有请求(包括成功和失败请求)的 100% 追踪中出现。仅看失败请求样本时,可能会认为错误 2 是更可能的罪魁祸首,但由于错误 2 在成功请求中也会出现,它不太可能是失败的原因,这种错误似乎是可恢复的。
1.2 相关性分析的方法
进行相关性分析需要两个追踪样本集和一组特征。一个样本集代表想要消除或减少的追踪类别,如失败或缓慢的请求;另一个样本集代表第一个样本集的补充,通常是成功或快速的请求。特征包括服务、操作、错误、标签、跨度持续时间以及它们在关键路径中所占的百分比等。
分析过程是查看每个特征,计算其在样本 A 中出现但不在样本 B 中出现的可能性,得出每个特征的“相关系数”。相关系数为 1.0 表示该特征在样本 A 的每个追踪中都出现,而在样本 B 的追踪中从未出现;相关系数为 -1.0 表示该特征在样本 B 的每个追踪中都出现,而在样本 A 的追踪中从未出现;相关系数为 0.0 表示该特征在两个样本中出现的可能性相同。相关系数越接近 1.0 或 -1.0,该特征越能解释两个样本之间的差异。
例如,在之前的错误示例中,错误 1 的相关系数为 0.9,错误 2 的相关系数为 0
超级会员免费看
订阅专栏 解锁全文
831

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



