Na gestão de grandes infraestruturas de nuvem, mesmo pequenas quedas de desempenho podem levar a um desperdício significativo de recursos. Por exemplo, em uma empresa como o Meta, uma queda de 0,05% na velocidade de um aplicativo pode parecer insignificante, mas com milhões de servidores funcionando simultaneamente, esse pequeno atraso pode se acumular em milhares de servidores desperdiçados. Portanto, detectar e resolver essas pequenas regressões de desempenho a tempo é um grande desafio para o Meta.

image.png

Para resolver esse problema, o Meta AI lançou o FBDetect, um sistema de detecção de regressão de desempenho para ambientes de produção, capaz de capturar as menores regressões de desempenho, mesmo abaixo de 0,005%. O FBDetect monitora cerca de 800.000 séries temporais, cobrindo vários indicadores, como throughput, latência, uso de CPU e memória, envolvendo centenas de serviços e milhões de servidores. Usando tecnologias inovadoras, como amostragem de pilha de chamadas em todo o cluster de servidores, o FBDetect consegue capturar pequenas diferenças de desempenho em nível de sub-rotina.

image.png

O FBDetect concentra-se principalmente na análise de desempenho em nível de sub-rotina, o que reduz a dificuldade de detecção de regressões de nível de aplicativo de 0,05% para uma variação de nível de sub-rotina de 5% mais fácil de identificar. Esse método reduz significativamente o ruído, tornando o rastreamento de mudanças mais prático.

O núcleo tecnológico do FBDetect inclui três aspectos principais. Primeiro, ele reduz a variância dos dados de desempenho por meio da detecção de regressão em nível de sub-rotina, permitindo que pequenas regressões sejam identificadas a tempo. Em segundo lugar, o sistema realiza amostragem de pilha de chamadas em todo o cluster de servidores, medindo com precisão o desempenho de cada sub-rotina, semelhante à análise de desempenho em um ambiente de grande escala. Finalmente, para cada regressão detectada, o FBDetect realiza uma análise da causa raiz para determinar se a regressão é causada por problemas temporários, mudanças de custo ou alterações reais no código.

Após sete anos de testes em ambiente de produção real, o FBDetect possui uma forte capacidade anti-interferência e pode filtrar eficazmente sinais de regressão falsos. A introdução deste sistema não só reduz significativamente o número de eventos que os desenvolvedores precisam investigar, mas também melhora a eficiência da infraestrutura do Meta. Ao detectar pequenas regressões, o FBDetect ajuda o Meta a evitar o desperdício de cerca de 4.000 servidores por ano.

Em grandes empresas como o Meta, com milhões de servidores, a detecção de regressões de desempenho é particularmente importante. O FBDetect, com sua capacidade de monitoramento avançada, não apenas aumenta a taxa de detecção de pequenas regressões, mas também fornece aos desenvolvedores meios eficazes de análise da causa raiz, ajudando a resolver problemas potenciais a tempo e, assim, promovendo a operação eficiente de toda a infraestrutura.

Link para o artigo:https://tangchq74.github.io/FBDetect-SOSP24.pdf

Destaques:

🔍 O FBDetect consegue detectar pequenas regressões de desempenho, mesmo abaixo de 0,005%, aumentando significativamente a precisão da detecção.

💻 O sistema cobre cerca de 800.000 séries temporais, envolvendo vários indicadores de desempenho e permitindo análises precisas em ambientes de grande escala.

🚀 O FBDetect, após sete anos de uso prático, ajudou o Meta a evitar o desperdício de cerca de 4.000 servidores por ano, melhorando a eficiência geral da infraestrutura.