
Eu uso o nginx para servir o conteúdo estático de um site meu decentemente ocupado. Eu tenho o log desabilitado e 4 processos de trabalho habilitados com 5.000 conexões por trabalhador (o que deve gerar um limite máximo de conexões de 20.000.
O servidor está operando com apenas cerca de 10% de uso de CPU e 50% de RAM, mas é muito lento e, às vezes, o nginx é tão lento para responder às solicitações que atinge o tempo limite. Para um pequeno número de conexões, tudo bem, mas quando qualquer carga começa a ocorrer (cerca de 2.500 conexões), ela recua e paralisa.
Existem outros gargalos ou limites que eu possa estar atingindo? Este é um servidor FreeBSD e todos os arquivos estáticos estão localizados localmente (não NFS). A NIC é um gigabit ilimitado e usa apenas cerca de 75 megabits.
Qualquer visão seria apreciada. Obrigado.
Responder1
Algumas dicas de onde olhar:
- Você deve ter o registro de erros ativado e olhar lá o tempo todo. Dá muita informação.
- O que é atéização de IO?
- Você tem o Munin instalado? Os gráficos Munin também fornecem muitas informações.
- Você tem o módulo nginx-status habilitado no Nginx? Se sim, quais números ele mostra?
- Quais outros aplicativos estão sendo executados no seu servidor? Eles podem afetar o desempenho
- Que tipo de arquivos estáticos você está servindo? Especificamente de que tamanho