Tengo una máquina con 128 GB de RAM que está usando Apache2 como servidor web (en esta máquina no hay servidor de base de datos, la máquina de base de datos es una máquina de 64 GB Ram que puede manejar 2000 conexiones máximas). Veo con una herramienta de monitoreo que hay actualmente 44 trabajadores ocupados y 12 trabajadores inactivos, ¿cuáles son los mejores valores teóricos para mi módulo prefork?
Tengo páginas en blanco a veces cargando sitios web en horas de carga alta y recibí este error en mi registro de errores de apache:
[aviso] hijo pid 13595 señal de salida Fallo de segmentación (11)
¿Cómo puede resolver este problema también?
Configuración de mi módulo Apache2 Prefork:
StartServers 3
MinSpareServers 3
MaxSpareServers 5
ServerLimit 3200
MaxClients 3100
MaxRequestsPerChild 0
Gratis -h en la máquina www :
total: 128 G libre: 97 GB (con apache2 en ejecución) compartió 0b almacenamientos intermedios 1.9G caché 23G
Ram utilizado por Apache2 y otros programas:
Private + Shared = RAM used Program
96.0 KiB + 61.0 KiB = 157.0 KiB sh
176.0 KiB + 26.0 KiB = 202.0 KiB atd
176.0 KiB + 35.5 KiB = 211.5 KiB acpid
208.0 KiB + 19.5 KiB = 227.5 KiB mdadm
204.0 KiB + 30.0 KiB = 234.0 KiB init
248.0 KiB + 62.0 KiB = 310.0 KiB sendmail
376.0 KiB + 36.0 KiB = 412.0 KiB dbus-daemon
388.0 KiB + 285.5 KiB = 673.5 KiB cron (2)
820.0 KiB + 42.0 KiB = 862.0 KiB gam_server
920.0 KiB + 108.0 KiB = 1.0 MiB ntpd
968.0 KiB + 243.0 KiB = 1.2 MiB getty (6)
1.3 MiB + 351.5 KiB = 1.6 MiB udevd (3)
1.5 MiB + 343.0 KiB = 1.8 MiB sendmail-msp
2.0 MiB + 910.0 KiB = 2.9 MiB plugin-localresources2
3.4 MiB + 50.0 KiB = 3.4 MiB rsyslogd
3.6 MiB + 68.5 KiB = 3.7 MiB bash
1.9 MiB + 2.1 MiB = 4.0 MiB sendmail-mta (4)
3.8 MiB + 556.0 KiB = 4.3 MiB sshd (2)
3.7 MiB + 1.2 MiB = 4.8 MiB plugin-apache2
5.1 MiB + 1.2 MiB = 6.3 MiB agent-service
7.0 MiB + 654.0 KiB = 7.6 MiB fail2ban-server
9.6 MiB + 2.6 MiB = 12.2 MiB proftpd (8)
59.2 MiB + 70.0 KiB = 59.3 MiB miniserv.pl
96.8 MiB + 3.6 MiB = 100.4 MiB php5-cgi (2)
196.4 MiB + 35.9 MiB = 232.3 MiB apache2 (40)
---------------------------------
tot 450.0 MiB
Respuestas:
Configuración de prefork de Apache, pautas de ajuste de rendimiento por apache
citar:
debe configurarlo de esta manera según su aporte para:
Para calcular esto, puede usar el siguiente script:
Esta es la mejor estimación de la cantidad de proceso de apache único que usa la memoria al intentar dividir proporcionalmente el uso compartido por el número de procesos de apache activos y agregarlo encima de Pss (tamaño de conjunto proporcional)
Finalmente divides 115 GB con esta cifra y obtienes
MaxClients/ServerLimit
. Desde aquí puede calcular relativamente otras cifras comoStartServers
30% de MaxClientsMinSpareServers
5% de MaxClientsMaxSpareServers
10% de MaxClientsServerLimit
== MaxClientsMaxConnectionsPerChild
10000 (como alternativa conservadora para abordar un posible problema con las aplicaciones con pérdida de memoria)fuente
/server-info
: i.imgur.com/SS2gIXI.png