PHP-FPM occasionnel "FastCGI: erreur de connection au server" erreur

Ubuntu 14.04.3 LTS Apache 2.4.7 PHP 5.5.9 

Je suis passé de mod_php à PHP-FPM il y a environ deux semaines. Tout, pour la plupart, fonctionne en douceur. Sauf deux fois maintenant, j'ai eu une situation où apache / php ne répond plus. Un redémarrage réglerait le problème, mais j'aimerais savoir pourquoi cela se produit. Voici les journaux d'erreurs, il est rempli de centaines de type d'erreur similaire.

 # /var/log/apache2/error.log . . [Wed Dec 16 23:19:21.476641 2015] [fastcgi:error] [pid 32523] (104)Connection reset by peer: [client xx.xx.xx.xx:43676] FastCGI: comm with server "/usr/lib/cgi-bin/php5-fcgi" aborted: read failed [Wed Dec 16 23:19:21.476866 2015] [fastcgi:error] [pid 32411] (2)No such file or directory: [client xx.xx.xx.xx:63082] FastCGI: failed to connect to server "/usr/lib/cgi-bin/php5-fcgi": connect() failed [Wed Dec 16 23:19:21.477489 2015] [fastcgi:error] [pid 32527] (104)Connection reset by peer: [client xx.xx.xx.xx:49675] FastCGI: comm with server "/usr/lib/cgi-bin/php5-fcgi" aborted: read failed [Wed Dec 16 23:19:21.478270 2015] [fastcgi:error] [pid 32548] (2)No such file or directory: [client xx.xx.xx.xx:59140] FastCGI: failed to connect to server "/usr/lib/cgi-bin/php5-fcgi": connect() failed . . 

Configuration d'Apache

 # /etc/apache2/conf-available/php5-fpm.conf <IfModule mod_fastcgi.c> AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization <Directory /usr/lib/cgi-bin> Require all granted </Directory> </IfModule> 

PHP5-FPM Config (inclus ce que je pensais être utile)

 # /etc/php5/fpm/pool.d/www.conf listn = /var/run/php5-fpm.sock . . user = www-data group = www-data . . pm.max_children = 10 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 1 pm.max_requests = 500 . . listn.owner = www-data listn.group = www-data listn.mode = 0660 . . 

login aux sockets

 # lsof -U | grep php php5-fpm 14373 www-data 0u unix 0xffff8801ff42bb80 0t0 1721 /var/run/php5-fpm.sock php5-fpm 17084 www-data 0u unix 0xffff8801ff42bb80 0t0 1721 /var/run/php5-fpm.sock php5-fpm 18544 www-data 0u unix 0xffff8801ff42bb80 0t0 1721 /var/run/php5-fpm.sock php5-fpm 18544 www-data 4u unix 0xffff8800da1e7700 0t0 701371 /var/run/php5-fpm.sock php5-fpm 18649 www-data 0u unix 0xffff8801ff42bb80 0t0 1721 /var/run/php5-fpm.sock php5-fpm 19672 www-data 0u unix 0xffff8801ff42bb80 0t0 1721 /var/run/php5-fpm.sock 

Permettez-moi de savoir s'il existe d'autres informations nécessaires pour aider à comprendre cela. Comme je l'ai dit, cela ne s'est passé que deux fois. Merci

N'utilisez pas de prise à cet effet. Ils bloquent trop pour supporter même un site à chargement moyen avec de nombreuses requests. Utilisez un socket TCP plutôt que de connecter httpd à php-fpm.

Reportez-vous à ceci pour get des instructions: https://wiki.apache.org/httpd/PHP-FPM (consultez la section intitulée «Approche du socket TCP (IP et port)»).

Vous n'avez pas non plus beaucoup de travailleurs mis en place. Je recommand généralement environ deux par cœur de CPU disponible (en supposant que la plupart des requêtes Web prendront 500 ms). Vous pouvez faire vos propres calculs en fonction de votre time de réponse moyen. Si vous avez besoin de plus de travailleurs pour supporter votre chargement, obtenez plus de servers.

J'ai pu résoudre les erreurs de connection. Je n'avais pas assez de ressources allouées à php-fpm. J'ai augmenté la quantité de travailleurs (merci Joel), fixé une limite d'expiration (merci Froggiz) et définissez une valeur max_requests. La publication suivante explique en détail le problème que j'avais.

https://stackoverflow.com/questions/18009479/random-php-fastcg-connection-reset-by-peer-incomplete-headers

Merci!