分布式追踪:提升与恢复性能的有效方法
1. 相关性分析
相关性分析是分布式追踪为开发者提供的强大工具,用于提升基础性能。以往的技术多是验证或反驳现有的性能假设,而相关性分析更进一步,能创造新的假设并提供支持证据。这为开发者开辟了全新的工作流程,追踪工具能直接引导开发者找到最有潜力提升性能的机会,而非让开发者仅凭直觉猜测。
1.1 传统错误分析的局限性
只关注失败请求样本中的常见错误来寻找根本原因,这种方法虽有时有用,但容易出错。它只考虑错误发生时的情况,却忽略了错误未发生时的情况。例如,有两种错误:错误1出现在90%的失败请求追踪中,错误2出现在100%的所有追踪(包括成功和失败请求)中。仅看失败请求样本时,可能会认为错误2是更可能的罪魁祸首,但由于错误2在成功请求中也会出现,所以它不太可能是失败的原因,该错误显然是可恢复的。
我们真正要问的问题不是“哪种错误更可能出现在失败请求中”,而是“哪种错误与失败的相关性更强”。虽然相关性并不等同于因果关系,但它是发现根本原因的有力工具。
1.2 相关性分析的步骤
- 样本选取 :需要两个追踪样本集。一个样本集代表你想要消除或至少减少的追踪类别,如失败或缓慢的请求;另一个样本集代表第一个样本集的补集,通常是成功或快速的请求。可以将这种设置类比为科学实验中的实验组和对照组。
- 特征确定 :还需要一组用于寻找相关性的特征。在分布式追踪中,这些特征包括服务、操作、错误、与组成追踪的跨度相关的标签,以及跨度的持续时间和它们在关键路径中所占的百分比。分析可以考虑追踪中任何跨度
超级会员免费看
订阅专栏 解锁全文
6万+

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



