Bonjour,
Pour le moment je n'ai pas encore le temps de me pencher sur NGINX, donc je reste sur du Apache/FCGI, par contre je ne suis pas contre de faire un test un de ces quatre...
En gros voici mon fcgid-starter : #!/bin/sh export PHPRC=/var/www/test.local/php5/php.ini export PHP_FCGI_CHILDREN=0 export PHP_FCGI_MAX_REQUESTS=1500 # ??? export PHP_FCGI_MAX_REQUESTS=5000 => /!\ FcgidMaxRequestsPerProcess exec /usr/bin/php5/php-cgi
Conf apache test.local : <IfModule mod_fcgid.c> SocketPath /var/lib/apache2/fcgid/socket FcgidMaxRequestsPerProcess 1000 FcgidBusyTimeout 300 FcgidIOTimeout 300 FcgidMaxProcesses 200 FcgidMaxProcessesPerClass 20 FcgidMinProcessesPerClass 0 FcgidMaxRequestLen 15728640 </IfModule>
Quand vous parlez de "Et ne pas oublier de fermer les connexions correctement" c'est-à-dire ??
Date: Fri, 27 Dec 2013 14:29:17 +0100 From: greg-frsag@duchatelet.net To: frsag@frsag.org Subject: Re: [FRsAG] Optimisation Apache2
Euh 1000 requêtes par process c'est beaucoup trop bas, ça doit représenter environ 750ms de vie de mes process nginx ... Par contre je suis d'accord avec la fermeture des connexions, pour celà il faut désactiver les connexions persistentes, et dans MySQL y'a la variable de config wait_timeout qui permet de fermer les connexions coté serveur.
Le 27 décembre 2013 13:58, Nathan delhaye contact@nathan-delhaye.fr a écrit :
Le 27 décembre 2013 13:40, Greg greg-frsag@duchatelet.net a écrit :
MaxRequestsPerChild = ça dépend des fuites mémoire. 0 si pas de fuite, ou pas de cache genre le cache fichier de PHP. Avec PHP-FPM je choisirais 0 pour l'infini, de toute façon il redémarrera 1x / jour avec le logrotate daily.
Et ne pas oublier de fermer les connexions correctement. J'ai déjà souvent vu des problèmes avec le modules memcache de php ou les connexions sont pas fermées après l'affichage d'une page si c'est pas fait a la main dans le code.
Idem avec mysql, pg, etc, etc... Du moment que t'a une ressource externe il faut faire attention. Je pense qu'un restart toutes les 1000 requêtes (par exemple) ça ne peut faire que du bien.
Et enfin comme tout le monde, je pense que si t'a pas de .htaccess ou de conf un peu tordue, nginx+fpm c'est cool et tu y passe très souvent sans effort. Et dans le cas ou tu as quand même des conf spécifiques, nginx sait faire tout ce que sait faire apache et même plus : je pense au if qui n'était pas disponible avant apache 2.4 par exemple (et oui "if is NOT evil" dans certains cas)