Dans les grandes infrastructures de nuages, même une légère dégradation des performances peut provoquer d'énormes déchets de ressources. Afin de résoudre ce problème, Meta a développé FBDetect, un système qui peut détecter des régressions de performances extrêmement petites. Économisez beaucoup de ressources de serveur chaque année. Cet article introduira en détail le principe de travail, le cœur technique et les effets pratiques des applications de FBDetect.
Même une légère baisse de performance peut entraîner des déchets de ressources importants dans la gestion des grandes infrastructures cloud. Par exemple, dans une entreprise comme Meta, une réduction de 0,05% de la vitesse de fonctionnement d'une application peut sembler triviale, mais avec des millions de serveurs fonctionnant en même temps, ce minuscule retard peut s'accumuler en déchets de milliers de serveurs. Par conséquent, c'est un énorme défi pour Meta de découvrir et de résoudre ces minuscules régressions de performance en temps opportun.
Pour résoudre ce problème, Meta AI a lancé FBDetect, un système de détection de régression des performances pour les environnements de production qui peuvent capturer une régression de performance minimale, même aussi faible que 0,005%. FBDetect est capable de surveiller environ 800 000 séries chronologiques, couvrant plusieurs mesures telles que le débit, la latence, le processeur et l'utilisation de la mémoire, impliquant des centaines de services et des millions de serveurs. En adoptant des technologies innovantes telles que l'échantillonnage de trace de pile dans l'ensemble du cluster de serveur, FBDetect est capable de capturer des différences de performances subtiles au niveau du sous-programme.
FBDetect se concentre sur l'analyse des performances au niveau du sous-programme, ce qui réduit la difficulté de détection de 0,05% de régression au niveau de l'application à un changement de niveau de sous-programme plus facilement reconnaissable. Cette approche réduit considérablement le bruit, ce qui rend les changements de suivi plus pratiques.
Le noyau technique de FBDetect comprend trois aspects principaux. Premièrement, il réduit la variance des données de performance par détection de régression au niveau du sous-programme, de sorte que de petites régressions peuvent également être identifiées dans le temps. Deuxièmement, le système effectuera un échantillonnage de trace de pile sur l'ensemble du cluster de serveur, mesurant avec précision les performances de chaque sous-programme, similaire à l'exécution de l'analyse des performances dans un environnement à grande échelle. Enfin, pour chaque régression détectée, FBDetect effectue une analyse de cause profonde pour déterminer si la régression est causée par un problème temporaire, un changement de coût ou un changement de code réel.
Après sept ans de tests d'environnement de production réels, FBDetect possède de fortes capacités d'anti-interférence et peut efficacement filtrer les faux signaux de régression. L'introduction de ce système réduit non seulement le nombre d'événements dont les développeurs doivent étudier, mais améliore également l'efficacité de l'infrastructure de méta. Avec la petite régression détectée, FBDetect aide Meta à éviter les déchets de ressources sur environ 4 000 serveurs chaque année.
Dans les grandes entreprises comme les méta avec des millions de serveurs, la détection de régression des performances est particulièrement importante. Avec ses capacités de surveillance avancées, FBDetect améliore non seulement le taux de reconnaissance des micro régressions, mais fournit également aux développeurs des méthodes d'analyse racine efficaces, ce qui aide à résoudre les problèmes potentiels en temps opportun et favorise le fonctionnement efficace de toute l'infrastructure.
Entrée du papier: https://tangchq74.github.io/fbdetect-sosp24.pdf
Points clés:
FBDetect peut surveiller de minuscules régressions de performance, même aussi faibles que 0,005%, améliorant considérablement la précision de détection.
Le système couvre environ 800 000 séries chronologiques, implique de multiples mesures de performance et est capable d'effectuer une analyse précise dans des environnements à grande échelle.
Après sept ans d'application pratique, FBDetect a aidé Meta à éviter les déchets de ressources d'environ 4 000 serveurs par an, améliorant l'efficacité globale de l'infrastructure.
En bref, FBDetect fournit une infrastructure cloud à grande échelle de Meta avec des capacités efficaces de détection de régression des performances et d'analyse, réduisant efficacement les déchets de ressources, l'amélioration de la stabilité du système et l'efficacité opérationnelle. L'application de ce système dans la gestion des ressources des grandes entreprises fournit de nouvelles idées pour améliorer l'utilisation des ressources et réduire les coûts d'exploitation.