Maison > développement back-end > tutoriel php > À propos des paramètres et des instructions des requêtes lentes de php-fpm7.0

À propos des paramètres et des instructions des requêtes lentes de php-fpm7.0

藏色散人
Libérer: 2023-04-09 21:12:02
avant
1997 Les gens l'ont consulté

Cet article vous présente les paramètres de requête lente et les instructions de php-fpm7.0. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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
Copier après la connexion

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#
Copier après la connexion

php-fpm.confLa dernière ligne

include=/etc/php/7.0/fpm/pool.d/*.conf
Copier après la connexion

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
Copier après la connexion

Ajoutez deux lignes de configuration

slowlog=/var/log/php7.0/fpm/slow.log
request_slowlog_timeout=1s
Copier après la connexion

Redémarrez fpm et faites attention aux problèmes généraux tels que les autorisations de répertoire

service php7.0-fpm reload
Copier après la connexion

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
Copier après la connexion

Explication sur le journal

[03-Jan-2018 18:48:53]  [pool www] pid 4931
Copier après la connexion

Il n'y a aucune explication à cela, l'identifiant du processus temporel

script_filename = /usr/share/nginx/ testapp/index.php
Copier après la connexion

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
Copier après la connexion

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/
Copier après la connexion

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/


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal