大規模クラウドインフラストラクチャの管理において、些細なパフォーマンス低下でも著しいリソースの無駄につながる可能性があります。例えば、Metaのような企業では、あるアプリケーションの動作速度が0.05%低下するだけでも取るに足らないように思えますが、数百万台のサーバーが同時に稼働している状況では、このわずかな遅延が数千台のサーバーの無駄につながります。そのため、このような小さなパフォーマンスの劣化を早期に発見し、解決することは、Metaにとって大きな課題となっています。

この問題を解決するために、Meta AIは本番環境向けの性能回帰検出システムであるFBDetectを開発しました。FBDetectは、わずか0.005%という最小限のパフォーマンス回帰さえも捕捉できます。FBDetectは、スループット、遅延、CPUとメモリの使用率など、複数の指標を網羅する約80万個のタイムシリーズを監視し、数百ものサービスと数百万台のサーバーを対象としています。スタックトレースサンプリングをサーバークラスタ全体にわたって採用するなど、革新的な技術により、FBDetectは微妙なサブルーチンレベルのパフォーマンスの違いを捉えることができます。

FBDetectは、サブルーチンレベルのパフォーマンス分析に重点を置いています。これにより、検出の難易度をアプリケーションレベルの0.05%の回帰から、より容易に識別できる5%のサブルーチンレベルの変化にまで下げることができます。この手法によりノイズが大幅に削減され、変化の追跡がより実用的になります。
FBDetectの中核技術は、主に3つの側面から成り立っています。まず、サブルーチンレベルの回帰検出により、パフォーマンスデータの分散を減らし、小さな回帰も早期に識別できるようにします。次に、システムはサーバークラスタ全体でスタックトレースサンプリングを行い、各サブルーチンのパフォーマンスを正確に測定します。これは、大規模環境でのパフォーマンス分析と同様です。最後に、検出された回帰ごとに、FBDetectは根本原因分析を行い、回帰が一時的な問題、コストの変化、または実際のコード変更によって引き起こされたかを判断します。
FBDetectは7年間の本番環境テストを経ており、強力な耐干渉能力を備え、誤った回帰信号を効果的にフィルタリングできます。このシステムの導入により、開発者が調査する必要があるイベント数が大幅に削減されるだけでなく、Metaのインフラストラクチャの効率も向上します。小さな回帰の検出を通じて、FBDetectは年間約4000台のサーバーのリソースの無駄をMetaに回避させました。
数百万台のサーバーを擁するMetaのような大企業では、パフォーマンス回帰の検出が非常に重要になります。FBDetectは、その高度な監視能力により、小さな回帰の識別率を向上させるだけでなく、開発者に対して効果的な根本原因分析手段を提供し、潜在的な問題を早期に解決することに役立ち、インフラストラクチャ全体の効率的な運用を促進します。
論文へのリンク:https://tangchq74.github.io/FBDetect-SOSP24.pdf
要点:
🔍 FBDetectは、わずか0.005%という小さなパフォーマンス回帰も検出でき、検出精度を大幅に向上させます。
💻 このシステムは、約80万個のタイムシリーズを網羅し、複数の性能指標を対象とし、大規模環境で正確な分析が可能です。
🚀 FBDetectは7年間の実運用を経ており、Metaが年間約4000台のサーバーのリソースの無駄を回避し、インフラストラクチャ全体の効率を向上させました。
