Dans les environnements de cloud computing à grande échelle, même une légère dégradation des performances peut entraîner un énorme gaspillage de ressources. Meta est confronté au défi de détecter et de résoudre efficacement ces problèmes de performances subtils. À cette fin, l'équipe Meta AI a développé FBDetect, un système capable de détecter des régressions de performances extrêmement faibles dans les environnements de production avec une précision allant jusqu'à 0,005 %. L'éditeur de Downcodes vous présentera en détail le principe de fonctionnement et les résultats remarquables de FBDetect.
Dans la gestion d’une grande infrastructure cloud, même de petites dégradations de performances peuvent entraîner un gaspillage important de ressources. Par exemple, dans une entreprise comme Meta, un ralentissement de 0,05 % d'une application peut sembler insignifiant, mais lorsque des millions de serveurs fonctionnent simultanément, ce petit retard peut représenter des milliers de serveurs gaspillés. Par conséquent, découvrir et résoudre ces régressions mineures de performances en temps opportun constitue un défi de taille pour Meta.
Pour résoudre ce problème, Meta AI a lancé FBDetect, un système de détection de régression de performances pour les environnements de production qui peut capturer les plus petites régressions de performances, même aussi faibles que 0,005 %. FBDetect est capable de surveiller environ 800 000 séries temporelles, couvrant plusieurs indicateurs tels que le débit, la latence, l'utilisation du processeur et de la mémoire, impliquant des centaines de services et des millions de serveurs. En employant des techniques innovantes telles que l'échantillonnage de trace de pile sur l'ensemble d'un cluster de serveurs, FBDetect est capable de capturer de subtiles différences de performances au niveau des sous-programmes.
FBDetect se concentre principalement sur l'analyse des performances au niveau des sous-programmes, ce qui peut réduire la difficulté de détection de 0,05 % de régression au niveau de l'application à des changements plus facilement identifiables de 5 % au niveau des sous-programmes. Cette approche réduit considérablement le bruit, rendant le suivi des modifications plus pratique.
Le noyau technique de FBDetect se compose de trois aspects principaux. Premièrement, il réduit la variance des données de performances grâce à la détection de régression au niveau des sous-programmes, de sorte que de petites régressions puissent être identifiées dans le temps. Deuxièmement, le système effectue un échantillonnage de trace de pile sur l'ensemble du cluster de serveurs pour mesurer avec précision les performances de chaque sous-programme, de la même manière qu'une analyse des performances dans un environnement à grande échelle. Enfin, pour chaque régression détectée, FBDetect effectue une analyse des causes profondes pour déterminer si la régression est causée par un problème temporaire, une modification des coûts ou une modification réelle du code.
Après sept années de tests dans des environnements de production réels, FBDetect possède de fortes capacités anti-interférences et peut filtrer efficacement les faux signaux de régression. L'introduction de ce système réduira non seulement considérablement le nombre d'incidents sur lesquels les développeurs doivent enquêter, mais améliorera également l'efficacité de l'infrastructure Meta. En détectant les petites régressions, FBDetect aide Meta à éviter de gaspiller des ressources sur environ 4 000 serveurs par an.
Dans les grandes entreprises comme Meta comptant des millions de serveurs, la détection de la régression des performances est particulièrement importante. Grâce à ses capacités de surveillance avancées, FBDetect améliore non seulement le taux d'identification des régressions mineures, mais fournit également aux développeurs des méthodes efficaces d'analyse des causes profondes pour aider à résoudre les problèmes potentiels en temps opportun, favorisant ainsi le fonctionnement efficace de l'ensemble de l'infrastructure.
Entrée papier : https://tangchq74.github.io/FBDetect-SOSP24.pdf
Les cas réussis de FBDetect fournissent une expérience précieuse aux grandes entreprises et ouvrent de nouvelles orientations pour le développement de futurs systèmes de surveillance des performances. Son utilisation efficace des ressources et ses capacités précises de détection de régression méritent d’être référencées et apprises par l’industrie. Espérons que des technologies plus innovantes comme celle-ci émergeront pour aider les entreprises à mieux gérer et optimiser leur infrastructure cloud.