Optimizar la cantidad de clientes que atiende Apache
De Master Solutions Wiki
Contenido |
Introduccion
El Servidor apache viene. configurado para atender 150 clientes, que a veces no es suficiente. Mostraremos como calcular la cantidad máxima que puede atender en función a las capacidades de nuestro equipo
Calculo de RAM por procesos apache
ps -ylC httpd-prefork --sort:rss | awk '{SUM += $8; I += 1} END {print SUM/I/1024}'
Supongamos 21Mb
Este valor se expresa en Megabytes
Calculo de RAM de los demas procesos
ps -N -ylC httpd-prefork --sort:rss | awk '{SUM += $8} END {print SUM/1024}'
Supongamos 1.400Mb
Calculo de cantidad de conexiones
Si por ejemplo nuestro servidor tiene 16Gb de RAM el calculo será el siguiente
(RAM del servidor - RAM de procesos no apache) / RAM por conexión Apache = Cantidad de clientes
(16384 - 1400) / 21 = 713
De esto tomamos un 70% lo que nos da unas 500 conexiones
Configurar apache
Apache por defecto tiene configurado el modulo de la siguiente forma:
<IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule>
Lo modificamos para que queda de la siguiente forma:
<IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 ServerLimit 500 MaxClients 470 MaxRequestsPerChild 0 </IfModule>
Digamos que hicimos un configuración a la "defensiva"