在大型云基础设施的管理中,即便是微小的性能下降也可能导致显著的资源浪费。例如,在 Meta 这样的公司中,一项应用的运行速度下降0.05% 看似微不足道,但在数百万台服务器同时运转的情况下,这种微小的延迟会积累成数千台服务器的浪费。因此,及时发现并解决这些微小的性能回归对 Meta 来说是一项巨大的挑战。

image.png

为了解决这个问题,Meta AI 推出了 FBDetect,这是一个针对生产环境的性能回归检测系统,能够捕捉到最小的性能回归,甚至低至0.005%。FBDetect 能够监控约80万个时间序列,涵盖了吞吐量、延迟、CPU 和内存使用等多个指标,涉及数百项服务和数百万台服务器。通过采用创新技术,如跨整个服务器集群的堆栈跟踪采样,FBDetect 能够捕捉到细微的子程序级别的性能差异。

image.png

FBDetect 主要关注子程序级别的性能分析,这样可以将检测的难度从0.05% 的应用级别回归降低到更易于识别的5% 子程序级别变化。这种方法显著减少了噪声,使得跟踪变化变得更为实用。

FBDetect 的技术核心包含三个主要方面。首先,它通过子程序级别的回归检测,减少性能数据的方差,使得微小的回归也能够被及时识别。其次,系统会在整个服务器集群上进行堆栈跟踪采样,精确测量每个子程序的性能表现,类似于在大规模环境中进行性能分析。最后,对于每一次检测到的回归,FBDetect 会进行根本原因分析,以判断回归是由临时问题、成本变化还是实际代码更改所导致。

FBDetect 经过七年的实际生产环境测试,具备强大的抗干扰能力,可以有效过滤掉虚假的回归信号。这一系统的引入不仅能显著减少开发人员需要调查的事件数量,还可以提升 Meta 基础设施的效率。通过检测到的小幅回归,FBDetect 每年帮助 Meta 避免了约4000台服务器的资源浪费。

在 Meta 这样拥有数百万台服务器的大型企业中,性能回归的检测显得尤为重要。FBDetect 以其先进的监测能力,不仅提高了对微小回归的识别率,还为开发人员提供了有效的根本原因分析手段,有助于及时解决潜在问题,从而推动整个基础设施的高效运行。

论文入口:https://tangchq74.github.io/FBDetect-SOSP24.pdf

划重点:

🔍 FBDetect 能够监测到微小的性能回归,甚至低至0.005%,极大提高了检测精度。

💻 该系统覆盖约80万个时间序列,涉及多个性能指标,并能够在大规模环境中进行精准分析。

🚀 FBDetect 经过七年的实际应用,帮助 Meta 每年避免约4000台服务器的资源浪费,提高了基础设施的整体效率。