En una gran infraestructura en la nube, incluso una ligera degradación del rendimiento puede causar grandes desechos de recursos. Para resolver este problema, el meta desarrollado FBDetect, un sistema que puede detectar regresiones de rendimiento extremadamente pequeñas puede monitorear una gran cantidad de datos de series temporales y realizar un análisis de rendimiento a nivel de subrutina, reduciendo efectivamente la tasa de falsos positivos y ayudando a Meta. Guarde muchos recursos del servidor cada año. Este artículo presentará en detalle el principio de trabajo, el núcleo técnico y los efectos prácticos de la aplicación de FBDetect.
Incluso una ligera caída de rendimiento puede conducir a un desperdicio significativo de recursos en la gestión de una gran infraestructura en la nube. Por ejemplo, en una empresa como Meta, una reducción del 0.05% en la velocidad de operación de una aplicación puede parecer trivial, pero con millones de servidores que se ejecutan al mismo tiempo, este pequeño retraso puede acumularse en un desperdicio de miles de servidores. Por lo tanto, es un gran desafío para Meta descubrir y resolver estas pequeñas regresiones de rendimiento de manera oportuna.
Para resolver este problema, Meta AI lanzó FBDetect, un sistema de detección de regresión de rendimiento para entornos de producción que pueden capturar una regresión de rendimiento mínima, incluso tan bajo como 0.005%. FBDetect es capaz de monitorear aproximadamente 800,000 series de tiempo, cubriendo múltiples métricas, como rendimiento, latencia, CPU y uso de memoria, que involucra cientos de servicios y millones de servidores. Al adoptar tecnologías innovadoras como el muestreo de rastreo de pila en todo el clúster del servidor, FBDetect puede capturar diferencias sutiles de rendimiento a nivel de subrutina.
FBDetect se centra en el análisis de rendimiento del nivel de subrutina, lo que reduce la dificultad de detección de la regresión del nivel de aplicación del 0.05% a un cambio de nivel de subrutina más fácilmente reconocible. Este enfoque reduce significativamente el ruido, lo que hace que los cambios de seguimiento sean más prácticos.
El núcleo técnico de FBDetect incluye tres aspectos principales. Primero, reduce la varianza de los datos de rendimiento a través de la detección de regresión a nivel de subrutina, por lo que también se pueden identificar pequeñas regresiones en el tiempo. En segundo lugar, el sistema realizará un muestreo de rastreo de pila en todo el clúster del servidor, midiendo con precisión el rendimiento de cada subrutina, similar al análisis de rendimiento en un entorno a gran escala. Finalmente, para cada regresión detectada, FBDetect realiza un análisis de causa raíz para determinar si la regresión es causada por un problema temporal, un cambio de costo o un cambio de código real.
Después de siete años de pruebas de entorno de producción real, FBDetect tiene fuertes capacidades anti-interferencia y puede filtrar efectivamente señales de regresión falsas. La introducción de este sistema no solo reduce significativamente el número de eventos que los desarrolladores deben investigar, sino que también mejora la eficiencia de la meta infraestructura. Con la pequeña regresión detectada, FBDetect ayuda a Meta a evitar los desechos de recursos en aproximadamente 4,000 servidores cada año.
En grandes empresas como Meta con millones de servidores, la detección de regresión de rendimiento es particularmente importante. Con sus capacidades de monitoreo avanzado, FBDetect no solo mejora la tasa de reconocimiento de las micro regresiones, sino que también proporciona a los desarrolladores métodos de análisis de causa raíz efectiva, lo que ayuda a resolver problemas potenciales de manera oportuna y promueve la operación eficiente de toda la infraestructura.
Entrada en papel: https://tangchq74.github.io/fbdetect-sosp24.pdf
Puntos clave:
FBDetect puede monitorear pequeñas regresiones de rendimiento, incluso tan bajas como 0.005%, mejorando en gran medida la precisión de la detección.
El sistema cubre aproximadamente 800,000 series de tiempo, involucra múltiples métricas de rendimiento y es capaz de realizar un análisis preciso en entornos a gran escala.
Después de siete años de aplicación práctica, FBDetect ha ayudado a meta a evitar el desperdicio de recursos de aproximadamente 4,000 servidores al año, mejorando la eficiencia general de la infraestructura.
En resumen, FBDetect proporciona la infraestructura en la nube a gran escala de Meta con capacidades de análisis de regresión y de regresión de rendimiento eficientes, reduciendo efectivamente los desechos de recursos, mejorando la estabilidad del sistema y la eficiencia operativa de su avanzada. La aplicación de este sistema en la gestión de recursos de grandes empresas proporciona nuevas ideas para mejorar la utilización de recursos y reducir los costos operativos.