In großen Cloud-Computing-Umgebungen können selbst kleine Leistungseinbußen zu einer enormen Ressourcenverschwendung führen. Meta steht vor der Herausforderung, diese subtilen Leistungsprobleme effektiv zu erkennen und zu lösen. Zu diesem Zweck hat das Meta AI-Team FBDetect entwickelt, ein System, das extrem kleine Leistungsrückgänge in Produktionsumgebungen mit einer Genauigkeit von sogar 0,005 % erkennen kann. Der Herausgeber von Downcodes wird Ihnen das Funktionsprinzip und die bemerkenswerten Ergebnisse von FBDetect ausführlich vorstellen.
Bei der Verwaltung großer Cloud-Infrastrukturen können selbst kleine Leistungseinbußen zu einer erheblichen Ressourcenverschwendung führen. Beispielsweise mag in einem Unternehmen wie Meta eine Verlangsamung einer Anwendung um 0,05 % unbedeutend erscheinen, aber wenn Millionen von Servern gleichzeitig laufen, kann diese winzige Verzögerung zu Tausenden verschwendeter Server führen. Daher ist es für Meta eine große Herausforderung, diese geringfügigen Leistungsrückgänge rechtzeitig zu erkennen und zu beheben.
Um dieses Problem zu lösen, hat Meta AI FBDetect auf den Markt gebracht, ein System zur Erkennung von Leistungsregressionen für Produktionsumgebungen, das selbst kleinste Leistungsregressionen von nur 0,005 % erfassen kann. FBDetect ist in der Lage, etwa 800.000 Zeitreihen zu überwachen und dabei mehrere Indikatoren wie Durchsatz, Latenz, CPU- und Speichernutzung abzudecken, wobei Hunderte von Diensten und Millionen von Servern beteiligt sind. Durch den Einsatz innovativer Techniken wie Stack-Trace-Sampling über einen gesamten Servercluster ist FBDetect in der Lage, subtile Leistungsunterschiede auf Unterprogrammebene zu erfassen.
FBDetect konzentriert sich hauptsächlich auf die Leistungsanalyse auf Unterprogrammebene, wodurch die Erkennungsschwierigkeit von 0,05 % Regression auf Anwendungsebene auf leichter erkennbare 5 % Änderungen auf Unterprogrammebene reduziert werden kann. Dieser Ansatz reduziert das Rauschen erheblich und macht die Nachverfolgung von Änderungen praktischer.
Der technische Kern von FBDetect besteht aus drei Hauptaspekten. Erstens wird die Varianz der Leistungsdaten durch die Regressionserkennung auf Unterprogrammebene reduziert, sodass kleine Regressionen rechtzeitig erkannt werden können. Zweitens führt das System Stack-Trace-Stichproben im gesamten Servercluster durch, um die Leistung jeder Unterroutine genau zu messen, ähnlich einer Leistungsanalyse in einer großen Umgebung. Schließlich führt FBDetect für jede erkannte Regression eine Ursachenanalyse durch, um festzustellen, ob die Regression durch ein vorübergehendes Problem, eine Kostenänderung oder eine tatsächliche Codeänderung verursacht wird.
Nach sieben Jahren des Testens in tatsächlichen Produktionsumgebungen verfügt FBDetect über starke Anti-Interferenz-Fähigkeiten und kann falsche Regressionssignale effektiv herausfiltern. Die Einführung dieses Systems wird nicht nur die Anzahl der Vorfälle, die Entwickler untersuchen müssen, erheblich reduzieren, sondern auch die Effizienz der Meta-Infrastruktur verbessern. Durch die Erkennung kleiner Regressionen hilft FBDetect Meta dabei, Ressourcenverschwendung auf etwa 4.000 Servern pro Jahr zu vermeiden.
In großen Unternehmen wie Meta mit Millionen von Servern ist die Erkennung von Leistungsrückgängen besonders wichtig. Mit seinen erweiterten Überwachungsfunktionen verbessert FBDetect nicht nur die Erkennungsrate kleinerer Regressionen, sondern stellt Entwicklern auch effektive Methoden zur Ursachenanalyse zur Verfügung, um potenzielle Probleme zeitnah zu lösen und so den effizienten Betrieb der gesamten Infrastruktur zu fördern.
Papiereingang: https://tangchq74.github.io/FBDetect-SOSP24.pdf
Die erfolgreichen Fälle von FBDetect liefern wertvolle Erfahrungen für große Unternehmen und bieten neue Richtungen für die Entwicklung zukünftiger Leistungsüberwachungssysteme. Die effiziente Ressourcennutzung und die präzisen Regressionserkennungsfunktionen sind in der Branche eine Referenz und ein Erlernen wert. Es ist zu hoffen, dass weitere innovative Technologien wie diese entstehen, die Unternehmen dabei helfen, ihre Cloud-Infrastruktur besser zu verwalten und zu optimieren.