Em ambientes de computação em nuvem de grande escala, mesmo uma pequena degradação do desempenho pode levar a um enorme desperdício de recursos. A Meta enfrenta o desafio de detectar e resolver com eficácia esses problemas sutis de desempenho. Para tanto, a equipe Meta AI desenvolveu o FBDetect, um sistema que pode detectar regressões de desempenho extremamente pequenas em ambientes de produção com uma precisão de até 0,005%. O editor de Downcodes apresentará detalhadamente o princípio de funcionamento e os resultados notáveis do FBDetect.
No gerenciamento de grandes infraestruturas de nuvem, mesmo pequenas degradações de desempenho podem levar a um desperdício significativo de recursos. Por exemplo, numa empresa como a Meta, uma desaceleração de 0,05% numa aplicação pode parecer insignificante, mas quando milhões de servidores estão a funcionar simultaneamente, este pequeno atraso pode resultar em milhares de servidores desperdiçados. Portanto, descobrir e resolver essas pequenas regressões de desempenho em tempo hábil é um grande desafio para o Meta.
Para resolver esse problema, a Meta AI lançou o FBDetect, um sistema de detecção de regressão de desempenho para ambientes de produção que pode capturar as menores regressões de desempenho, mesmo tão baixas quanto 0,005%. O FBDetect é capaz de monitorar aproximadamente 800.000 séries temporais, abrangendo múltiplos indicadores como throughput, latência, uso de CPU e memória, envolvendo centenas de serviços e milhões de servidores. Ao empregar técnicas inovadoras, como amostragem de rastreamento de pilha em todo um cluster de servidores, o FBDetect é capaz de capturar diferenças sutis de desempenho em nível de sub-rotina.
O FBDetect concentra-se principalmente na análise de desempenho em nível de sub-rotina, que pode reduzir a dificuldade de detecção de 0,05% de regressão em nível de aplicativo até 5% de alterações em nível de sub-rotina mais facilmente identificáveis. Essa abordagem reduz significativamente o ruído, tornando as alterações de rastreamento mais práticas.
O núcleo técnico do FBDetect consiste em três aspectos principais. Primeiro, reduz a variação dos dados de desempenho através da detecção de regressão no nível da sub-rotina, para que pequenas regressões possam ser identificadas a tempo. Em segundo lugar, o sistema realiza amostragem de rastreamento de pilha em todo o cluster de servidores para medir 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 de causa raiz para determinar se a regressão é causada por um problema temporário, uma alteração de custo ou uma alteração real de código.
Após sete anos de testes em ambientes de produção reais, o FBDetect possui fortes recursos anti-interferência e pode filtrar com eficácia sinais falsos de regressão. A introdução deste sistema não só reduzirá significativamente o número de incidentes que os desenvolvedores precisam investigar, mas também melhorará a eficiência da infraestrutura Meta. Ao detectar pequenas regressões, o FBDetect ajuda o Meta a evitar o desperdício de recursos em aproximadamente 4.000 servidores por ano.
Em grandes empresas como a Meta, com milhões de servidores, a detecção de regressão de desempenho é particularmente importante. Com seus recursos avançados de monitoramento, o FBDetect não apenas melhora a taxa de identificação de regressões menores, mas também fornece aos desenvolvedores métodos eficazes de análise de causa raiz para ajudar a resolver problemas potenciais em tempo hábil, promovendo assim a operação eficiente de toda a infraestrutura.
Entrada de papel: https://tangchq74.github.io/FBDetect-SOSP24.pdf
Os casos de sucesso do FBDetect proporcionam uma experiência valiosa para grandes empresas e fornecem novas direções para o desenvolvimento de futuros sistemas de monitoramento de desempenho. Sua utilização eficiente de recursos e capacidades precisas de detecção de regressão são dignas de referência e aprendizado pela indústria. Esperançosamente, surgirão tecnologias mais inovadoras como esta para ajudar as empresas a gerir e otimizar melhor a sua infraestrutura em nuvem.