Lors du développement d’un site web en PHP, si certaines pages dynamiques PHP sont très lentes à accéder après le lancement, nous pouvons analyser le goulot d’étranglement du site via des journaux lents php-fpm.
Le réglage PHP-FPM Slowlog nous permet de voir quels processus PHP sont trop lents et causent des problèmes sur le site web.
Tout d’abord, vérifiez tous les processus via la commande top -c pour voir l’adresse du fichier de configuration chargée par php-fpm, comme montré dans la figure ci-dessous :
Configuration FPM
paramètre : -p, modifier dynamiquement --préfixe dans la ligne de commande
include=etc/php-fpm.d/*.conf pour contenir un ou plusieurs fichiers si glob(3) existe (la fonction glob() renvoie un nom de fichier ou un répertoire correspondant au motif spécifié)
PHP-FPM charge un sous-fichier de configuration, $pool variable peut être utilisée dans n’importe quelle directive, et elle remplacera le nom correspondant du pool de processus. Par exemple : ici[www]
Activez les bûches lentes
entrer/usr/local/etc/php-fpm.dSous-configuration, trouvez www.conf (selon votre situation réelle), PHP 5.3.3 et versions ultérieures sont configurées comme suit :
; Le délai pour servir une seule requête, après quoi un retour en arrière PHP sera ; Vidé dans le fichier 'slowlog'. Une valeur de « 0 » signifie « décalé ». ; Unités disponibles : s(econds)(default), m(inutes), h(ours) ou d(ays) ; Valeur par défaut : 0 request_slowlog_timeout = 1s ; Le fichier journal pour les requêtes lentes ; Valeur par défaut : /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Le délai pour la notification d’une seule demande, après quoi le travailleur pourra ; Être tué. Cette option doit être utilisée lors de l’option ini « max_execution_time » ; n’arrête pas l’exécution du script pour une raison quelconque. Une valeur de « 0 » signifie « décalé ». ; Unités disponibles : s(econds)(default), m(inutes), h(ours) ou d(ays) ; Valeur par défaut : 0 request_terminate_timeout = 10s Note : request_terminate_timeout Terminer directement un processus qui a tourné trop longtemps
request_slowlog_timeout Écrire des fichiers trop lents à exécuter dans le journal
Dorénavant, vous pouvez optimiser les fichiers du programme selon le journal d’exécution lente /usr/local/php/log/php-fpm.log.slow !
|