在大型云基础设施中,即使微小的性能下降也可能造成巨大的资源浪费。 Meta公司为了解决这一问题,开发了FBDetect,一个能够检测极微小性能回归的系统,该系统能够监控大量时间序列数据,并进行子程序级别的性能分析,有效降低了误报率,并帮助Meta每年节省大量的服务器资源。本文将详细介绍FBDetect的工作原理、技术核心以及实际应用效果。
在大型云基础设施的管理中,即便是微小的性能下降也可能导致显着的资源浪费。例如,在Meta 这样的公司中,一项应用的运行速度下降0.05% 看似微不足道,但在数百万台服务器同时运转的情况下,这种微小的延迟会积累成数千台服务器的浪费。因此,及时发现并解决这些微小的性能回归对Meta 来说是一项巨大的挑战。

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

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台服务器的资源浪费,提高了基础设施的整体效率。
总而言之,FBDetect 为Meta 的大型云基础设施提供了高效的性能回归检测和分析能力,有效降低了资源浪费,提高了系统稳定性和运行效率,其先进的技术和实际应用效果值得借鉴。该系统在大型企业资源管理中的应用,为提高资源利用率和降低运营成本提供了新的思路。