J'ai installé ngix + php5-fpm. Je suis satisfait mais je ne peux pas optimiser php5-fpm pour qu'il fonctionne sans erreur. Chaque erreur corrigée crée une erreur différente.
Au début, j'avais les réglages par défaut qui provoquaient beaucoup d'erreurs :
[04-Jun-2012 03:30:06] AVERTISSEMENT: [pool www] le serveur a atteint le paramètre pm.max_children (5), envisagez de l'augmenter
J'ai augmenté tous les nombres :
pm.max_children = 15
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 5
;pm.max_requests = 500
Cela a provoqué une erreur différente :
[28-Feb-2013 07:45:06] AVERTISSEMENT: [pool www] semble occupé (vous devriez peut-être augmenter pm.start_servers, ou pm.min/max_spare_servers), génération de 8 enfants, il y a 18 inactifs, et 28 enfants au total
J'ai de nouveau augmenté tous les nombres :
pm.max_children = 70
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 35
;pm.max_requests = 500
Cela a provoqué le remplissage du fichier journal avec ceci :
[28-Feb-2013 13:21:55] NOTICE: [pool www] l'enfant 21868 a quitté avec le code 0 après 4171.293476 secondes depuis le démarrage
[28-Feb-2013 13:21:55] NOTICE: [pool www] l'enfant 23962 a démarré
J'ai décommenté :
pm.max_requests = 500
J'ai eu les mêmes erreurs, mais moins fréquemment - toutes les 5 minutes :
[28-Feb-2013 13:21:55] NOTICE: [pool www] l'enfant 21868 a quitté avec le code 0 après 4171.293476 secondes depuis le démarrage
[28-Feb-2013 13:21:55] NOTICE: [pool www] l'enfant 23962 a démarré
J'ai augmenté de nouveau :
pm.max_requests = 1000
Maintenant j'ai cette erreur 2-3 fois par heure mais elle persiste encore.
J'augmenterais ce nombre à nouveau mais je sens que mon serveur (sites web) fonctionne un peu plus lentement que les sites web hébergés sur un autre serveur avec les réglages : pm.max_children = 15,pm.start_servers = 5, pm.min_spare_servers = 3, pm.max_spare_servers = 5. (probablement juste un problème de réseau, je ne sais pas).
J'ai cherché sur Google et ce site web et je sais comment calculer le pm.max_children (cela dépend de la RAM). Mais je ne trouve aucune information sur comment calculer :
pm.start_servers
pm.min_spare_servers
pm.max_spare_servers
pm.max_requests
Est-ce que quelqu'un peut m'aider ?
uptime
13:55:39 en marche depuis 16 heures et 40 minutes, 2 utilisateurs, charge moyenne: 0.13, 0.14, 0.16
free -m
total utilisé libre partagé tampons mis en cache
Mem: 24101 3783 20318 0 151 3039
-/+ tampons/cache: 592 23509
Swap: 7811 0 7811
Je n'ai rien changé dans les fichiers de configuration de nginx.
0 votes
Il semble que vous ayez effectué toutes les étapes correctes pour régler PHP-FPM. Quel problème rencontrez-vous?
0 votes
Le problème se trouve dans les lignes suivantes du fichier php5-fpm.log. Est-ce normal? [28-Fév-2013 13:21:55] NOTICE: [pool www] child 21868 exited with code 0 after 4171.293476 seconds from start [28-Fév-2013 13:21:55] NOTICE: [pool www] child 23962 started
0 votes
C'est normal étant donné que vous avez défini
pm.max_requests
.0 votes
Ok, mais quel est le but de pm.max_requests? Par défaut, il n'est pas activé.
2 votes
A ma connaissance, cela tuera l'enfant et forcera ainsi la création d'un nouvel enfant. Cela réduira les dommages causés par les fuites de mémoire, car toute la mémoire de l'enfant est libérée lorsqu'il est tué.