Apache httpd de bajo rendimiento

Apache httpd de bajo rendimiento

Tengo un sitio web que se ejecuta usando httpd en Centos 7.

Tengo 8 cpus y 32 GB de ram.

Cuando tenemos más de 500-600 usuarios al mismo tiempo en el sitio web, la respuesta del servidor es cada vez mayor. Aun así, la carga de la CPU es de aproximadamente el 20-25% y tampoco se utiliza la RAM.

¿Qué podemos configurar para aumentar el rendimiento o qué me falta? Nuestras páginas están 100% almacenadas en caché y no ejecutamos consultas a bases de datos ni nada por el estilo.

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>

arriba:

%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

Respuesta1

Apache es bastante eficiente. Aunque técnicamente debería calificar mi respuesta, es casi seguro que es otra cosa lo que te está molestando y no el servidor en sí... probablemente el CGI que estás ejecutando o algo completamente diferente.

Probablemente desee comenzar ejecutando toppara ver qué programas realmente están consumiendo los recursos y luego continuar desde allí, tal vez haciendo más preguntas mientras publica lo que ve.

Los únicos ejemplos vagamente probables que se me ocurren en los que Apache realmente se estancará son:

  1. Si de alguna manera estás haciendo que sea recursivo, ya sabes, haciendo redirecciones desde una URL a la misma URL y luego una y otra y otra vez...

  2. Si está utilizando nombres de dominio en su configuración que no se resuelven. Tal vez estén mal escritos, hayan caducado o su DNS esté en mal estado. Los errores menores están bien, pero algunas configuraciones podrían intentar muchas búsquedas de DNS fallidas en cada acceso.

Parece que su CPU todavía está bastante inactiva, por lo que probablemente esté esperando algún DNS o un problema del sistema o lo que sea.

"kdump" realmente puede profundizar en el meollo de la cuestión y ver qué está pasando, pero comience mirando el resto de "top" (o ps -axww) para ver qué programas realmente están consumiendo los recursos de su sistema en lugar de simplemente asumir que es apache. porque puede que sea o no el propio Apache, ese es el problema.

información relacionada