Optimizar la cantidad de clientes que atiende Apache
De Master Solutions Wiki
(Diferencias entre revisiones)
(→Calculo de RAM por procesos apache) |
|||
Línea 4: | Línea 4: | ||
== Calculo de RAM por procesos apache == | == Calculo de RAM por procesos apache == | ||
− | ps -ylC | + | ps -ylC httpd-prefork --sort:rss | awk '{SUM += $8; I += 1} END {print SUM/I/1024}' |
Supongamos 21Mb | Supongamos 21Mb | ||
Este valor se expresa en Megabytes | Este valor se expresa en Megabytes | ||
− | |||
== Calculo de RAM de los demas procesos == | == Calculo de RAM de los demas procesos == |
Revisión de 16:02 15 abr 2020
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"