Baixo desempenho do Apache httpd

Baixo desempenho do Apache httpd

Eu tenho um site que está rodando usando httpd no Centos 7.

Tenho 8 CPUs e 32 GB de RAM.

Quando temos mais de 500-600 usuários ao mesmo tempo no site, a resposta do servidor está aumentando. Mesmo assim, a carga da CPU é de cerca de 20-25% e a RAM também não é usada.

O que podemos configurar para aumentar o desempenho ou o que estou faltando? Nossas páginas são 100% armazenadas em cache e não executamos consultas de banco de dados ou algo parecido.

httpd.conf

HostnameLookups Off
KeepAlive On
MaxKeepAliveRequests 1500
KeepAliveTimeout 5
<IfModule prefork.c>
   StartServers        30
   MinSpareServers     30
   MaxSpareServers     50
   ServerLimit      512
   MaxClients       512
   MaxRequestsPerChild 10000
</IfModule>

principal:

%Cpu(s):  1.9 us,  2.6 sy,  0.0 ni, 95.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 32779548 total,  3268520 free, 12679060 used, 16831968 buff/cache

Responder1

O Apache é bastante eficiente. Embora tecnicamente deva qualificar minha resposta, é quase certo que é algo mais que está atrapalhando você, e não o próprio servidor. Provavelmente o CGI que você está executando ou algo completamente diferente.

Você provavelmente deseja começar correndo toppara ver quais programas estão realmente usando os recursos e, em seguida, prosseguir a partir daí, talvez fazendo mais perguntas enquanto publica o que vê.

Os únicos exemplos vagamente prováveis ​​em que consigo pensar onde o Apache realmente irá parar são:

  1. Se de alguma forma você está tornando isso recursivo - você sabe - fazendo redirecionamentos de um URL para o mesmo URL e depois de novo e de novo e de novo ...

  2. Se você estiver usando nomes de domínio em sua configuração que não estão resolvendo. Talvez eles estejam escritos incorretamente ou tenham expirado ou seu DNS esteja confuso. Erros menores são aceitáveis, mas algumas configurações podem tentar muitas pesquisas de DNS com falha em cada acerto.

Parece que sua (s) CPU (s) ainda estão bastante ociosas, então provavelmente está aguardando algum DNS ou um problema de sistema ou algo assim.

"kdump" pode realmente entrar no âmago da questão e ver o que está acontecendo, mas comece observando o resto do "top" (ou ps -axww) para ver quais programas estão realmente usando os recursos do sistema, em vez de apenas assumir que é o Apache, porque pode ou não ser o próprio Apache, esse é o problema.

informação relacionada