Description de l'environnement
root@ubuntu:/home/tb# cat /etc/issue Ubuntu 16.04.2 LTS \n \l root@ubuntu:/home/tb# php -v PHP 7.0.15-0ubuntu0.16.04.4 (cli) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.15-0ubuntu0.16.04.4, Copyright (c) 1999-2017, by Zend Technologies
Voir le chemin de configuration php-fpm
root@ubuntu:/home/tb# ps -ef |grep fpm root 1642 1 0 10:17 ? 00:00:01 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) www-data 3685 1642 0 17:14 ? 00:00:04 php-fpm: pool www www-data 3686 1642 0 17:14 ? 00:00:03 php-fpm: pool www www-data 3808 1642 0 17:43 ? 00:00:03 php-fpm: pool www root 3930 2208 0 18:10 pts/0 00:00:00 grep --color=auto fpm root@ubuntu:/home/tb#
php-fpm.conf
La dernière ligne
include=/etc/php/7.0/fpm/pool.d/*.conf
Alors allons-y et modifions-lewww.conf
, cochez Introduction à la requête lente
314 ; The log file for slow requests 315 ; Default Value: not set 316 ; Note: slowlog is mandatory if request_slowlog_timeout is set 317 ;slowlog = log/$pool.log.slow 318 319 ; The timeout for serving a single request after which a PHP backtrace will be 320 ; dumped to the 'slowlog' file. A value of '0s' means 'off'. 321 ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) 322 ; Default Value: 0 323 ;request_slowlog_timeout = 0
Ajoutez deux lignes de configuration
slowlog=/var/log/php7.0/fpm/slow.log request_slowlog_timeout=1s
Redémarrez fpm et faites attention aux problèmes généraux tels que les autorisations de répertoire
service php7.0-fpm reload
Affichez les résultats de l'écho du journal
[03-Jan-2018 18:48:53] [pool www] pid 4934 script_filename = /usr/share/nginx/ testapp/index.php [0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11 [0x00007fb6262134a0] __construct() /usr/share/nginx/ci_2.2.0/core/Loader.php:303 [0x00007fb626213390] model() /usr/share/nginx/ testapp/app/core/my_Controller.php:39 [0x00007fb6262132e0] __construct() /usr/share/nginx/ testapp/app/controllers/home.php:8 [0x00007fb626213270] __construct() /usr/share/nginx/ci_2.2.0/core/CodeIgniter.php:308 [0x00007fb6262130e0] [INCLUDE_OR_EVAL]() /usr/share/nginx/ testapp/index.php:325 [03-Jan-2018 18:48:53] [pool www] pid 4931 script_filename = /usr/share/nginx/ testapp/index.php [0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11 [0x00007fb6262134a0] __construct() /usr/share/nginx/ci_2.2.0/core/Loader.php:303 [0x00007fb626213390] model() /usr/share/nginx/ testapp/app/core/my_Controller.php:39 [0x00007fb6262132e0] __construct() /usr/share/nginx/ testapp/app/controllers/home.php:8 [0x00007fb626213270] __construct() /usr/share/nginx/ci_2.2.0/core/CodeIgniter.php:308 [0x00007fb6262130e0] [INCLUDE_OR_EVAL]() /usr/share/nginx/ testapp/index.php:325
Explication sur le journal
[03-Jan-2018 18:48:53] [pool www] pid 4931
Il n'y a aucune explication à cela, l'identifiant du processus temporel
script_filename = /usr/share/nginx/ testapp/index.php
nom du script d'exécution, les applications Web php sont à entrée unique
[0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11
Cette troisième ligne Plus important : c'est le haut de la trace de la pile. Elle indique quel appel de fonction de la méthode actuellement exécutée dépasse le seuil, ainsi que le fichier spécifique et le nombre de lignes de code
et le reste. en est l'ordre des appels (de bas en haut, conduisant éventuellement au résultat d'un ralentissement et d'un délai d'attente)
Autres instructions
Si vous constatez que la troisième ligne commence par quelque chose comme curl_exec()
, Par exemple : cela est généralement dû au fait que le réseau prend du temps. Si un tiers doit être demandé, alors. . Supportez-le.
[0x00007fb6262136f0] curl_exec() /usr/share/nginx/
De même, s'il y a mysql_query
et autres, cela est également dû à sql
requête lente
Lien de référence
configuration php-fpm : https ://www.php.net/manual/en/install.fpm.configuration.php
how-to-read-the-php-slow-request-log : https://serverpilot. io/ docs/how-to-read-the-php-slow-request-log/