En entornos de computación en la nube a gran escala, incluso una pequeña degradación del rendimiento puede provocar un enorme desperdicio de recursos. Meta se enfrenta al desafío de detectar y resolver eficazmente estos sutiles problemas de rendimiento. Con este fin, el equipo de Meta AI desarrolló FBDetect, un sistema que puede detectar regresiones de rendimiento extremadamente pequeñas en entornos de producción con una precisión de incluso el 0,005 %. El editor de Downcodes le presentará en detalle el principio de funcionamiento y los resultados notables de FBDetect.
En la gestión de grandes infraestructuras de nube, incluso las pequeñas degradaciones del rendimiento pueden provocar un importante desperdicio de recursos. Por ejemplo, en una empresa como Meta, una desaceleración del 0,05% en una aplicación puede parecer insignificante, pero cuando millones de servidores se ejecutan simultáneamente, este pequeño retraso puede sumar miles de servidores desperdiciados. Por lo tanto, descubrir y resolver estas regresiones menores de rendimiento de manera oportuna es un gran desafío para Meta.
Para resolver este problema, Meta AI lanzó FBDetect, un sistema de detección de regresión de rendimiento para entornos de producción que puede capturar las regresiones de rendimiento más pequeñas, incluso tan bajas como 0,005%. FBDetect es capaz de monitorear aproximadamente 800.000 series temporales, cubriendo múltiples indicadores como rendimiento, latencia, uso de CPU y memoria, involucrando cientos de servicios y millones de servidores. Al emplear técnicas innovadoras, como el muestreo de seguimiento de pila en todo un clúster de servidores, FBDetect puede capturar diferencias sutiles de rendimiento a nivel de subrutina.
FBDetect se centra principalmente en el análisis de rendimiento a nivel de subrutina, que puede reducir la dificultad de detección desde una regresión del 0,05% a nivel de aplicación hasta cambios más fácilmente identificables del 5% a nivel de subrutina. Este enfoque reduce significativamente el ruido, lo que hace que el seguimiento de los cambios sea más práctico.
El núcleo técnico de FBDetect consta de tres aspectos principales. En primer lugar, reduce la varianza de los datos de rendimiento mediante la detección de regresión en el nivel de subrutina, de modo que se puedan identificar pequeñas regresiones a tiempo. En segundo lugar, el sistema realiza un muestreo de seguimiento de la pila en todo el clúster de servidores para medir 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 en entornos de producción reales, FBDetect tiene sólidas capacidades antiinterferencias y puede filtrar eficazmente señales de regresión falsas. La introducción de este sistema no solo reducirá significativamente la cantidad de incidentes que los desarrolladores deben investigar, sino que también mejorará la eficiencia de la metainfraestructura. Al detectar pequeñas regresiones, FBDetect ayuda a Meta a evitar el desperdicio de recursos en aproximadamente 4000 servidores por año.
En grandes empresas como Meta, con millones de servidores, la detección de la regresión del rendimiento es particularmente importante. Con sus capacidades de monitoreo avanzadas, FBDetect no solo mejora la tasa de identificación de regresiones menores, sino que también proporciona a los desarrolladores métodos efectivos de análisis de causa raíz para ayudar a resolver problemas potenciales de manera oportuna, promoviendo así el funcionamiento eficiente de toda la infraestructura.
Entrada en papel: https://tangchq74.github.io/FBDetect-SOSP24.pdf
Los casos de éxito de FBDetect proporcionan una valiosa experiencia para las grandes empresas y proporcionan nuevas direcciones para el desarrollo de futuros sistemas de seguimiento del rendimiento. Su utilización eficiente de recursos y sus capacidades precisas de detección de regresión son dignas de referencia y aprendizaje por parte de la industria. Con suerte, surgirán tecnologías más innovadoras como esta para ayudar a las empresas a gestionar y optimizar mejor su infraestructura en la nube.