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)

--
Nathan Delhaye


_______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/