J'ai une machine avec 128 Go de Ram qui utilise Apache2 comme serveur Web (dans cette machine, il n'y a pas de serveur de base de données, la machine de base de données est une machine Ram de 64 Go qui peut gérer 2000 connexions max). Je vois avec un outil de surveillance qu'il y a actuellement environ 44 travailleurs occupés et 12 travailleurs inactifs, quelles sont les meilleures valeurs théoriques pour mon module de préfork?
j'ai des pages blanches chargeant parfois des sites Web pendant des heures de chargement élevées et j'ai cette erreur sur mon journal d'erreurs apache:
[avis] enfant pid 13595 signal de sortie défaut de segmentation (11)
comment résoudre ce problème aussi?
Configuration de mon module Apache2 Prefork:
StartServers 3
MinSpareServers 3
MaxSpareServers 5
ServerLimit 3200
MaxClients 3100
MaxRequestsPerChild 0
Free -h sur la www machine :
total: 128 G libres: 97 Go (avec apache2 en cours d'exécution) tampons partagés 0b cache 1,9 G 23 G
Ram utilisé par Apache2 et d'autres programmes:
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
la source
Réponses:
Paramètres de préfork Apache, selon les directives de réglage des performances d'Apache
citation:
vous devez le configurer comme ceci en fonction de votre entrée pour:
Pour calculer cela, vous pouvez utiliser le script suivant:
Il s'agit de la meilleure estimation de la quantité de processus Apache unique qui utilise la mémoire tout en essayant de diviser proportionnellement l'utilisation partagée par le nombre de processus Apache actifs et de l'ajouter au-dessus de Pss (taille de jeu proportionnelle).
Enfin, vous divisez 115 Go avec ce chiffre et vous obtenez
MaxClients/ServerLimit
. De là, vous pouvez calculer relativement d'autres chiffres commeStartServers
30% des MaxClientsMinSpareServers
5% des MaxClientsMaxSpareServers
10% de MaxClientsServerLimit
== MaxClientsMaxConnectionsPerChild
10000 (comme alternative conservatrice pour résoudre un problème possible avec des applications qui fuient la mémoire)la source
/server-info
: i.imgur.com/SS2gIXI.png