Como combinar saturação de threads com fila proporcional, para diagnóstico preciso de gargalos de CPU
Quantos processadores lógicos estão em 100% de uso
Tamanho da fila de processos aguardando execução
Juntas: Essas métricas criam uma visão completa do comportamento do servidor, e indicam se o problema é de aplicação ou infraestrutura.
Condição: Fila ≤ 50% dos núcleos
O que significa:
Condição: Fila entre 50% e 100% dos núcleos
O que significa:
Condição: Fila entre 1x e 2x o número de núcleos
O que significa:
Condição: Fila maior que 2x o número de núcleos
O que significa:
Usam valores absolutos: "Alerte se fila maior que 5"
Fila = 5 em Dual-Core:
TERRÍVEL (250% de carga)
Fila = 5 em 64-cores:
IMPERCEPTÍVEL (7.8% de carga)
Limites elásticos e proporcionais ao hardware
Fila = 2 em 4-cores:
50% → tMODERADO
Fila = 32 em 16-cores:
200% → tCRITICO
Exemplo:
Diagnóstico:
Não é que o servidor esta sobrecarregado, mas a Rotina específica esta consumindo uma thread em sua totalidade (relatório mal otimizado, fechamento contábil pesado). Isso vai afetar a aplicação, mas não adianta adicionar mais cores.
Ação:
Exemplo:
Diagnóstico:
Servidor literalmente afogado. Volume de requisições simultâneas maior que capacidade do processador
Ação:
Permite diagnosticar com precisão matemática:
Juntas = Visão completa e assertiva do comportamento do servidor