在大型云计算环境中,即使微小的性能下降也会导致巨大的资源浪费。Meta公司面临着如何有效检测和解决这些细微性能问题的挑战。为此,Meta AI团队开发了FBDetect,一个能够在生产环境中检测极微小性能回归的系统,其精度甚至可以达到0.005%。Downcodes小编将为您详细介绍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的成功案例为大型企业提供了宝贵的经验,也为未来性能监控系统的研发提供了新的方向。其高效的资源利用和精准的回归检测能力,值得业界借鉴和学习。希望更多类似的创新技术能够出现,以帮助企业更好地管理和优化其云基础设施。