Heim > Backend-Entwicklung > PHP-Tutorial > php-fpm7.0 langsame Abfrageeinstellungen und Anweisungen

php-fpm7.0 langsame Abfrageeinstellungen und Anweisungen

藏色散人
Freigeben: 2023-04-07 19:22:01
nach vorne
2158 Leute haben es durchsucht

Umgebungsbeschreibung

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
Nach dem Login kopieren

Den PHP-FPM-Konfigurationspfad anzeigen

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#
Nach dem Login kopieren

Die letzte Zeile von php-fpm.conf

include=/etc/php/7.0/fpm/pool.d/*.conf
Nach dem Login kopieren

Dann lasst uns Gehen Sie dort www.conf ändern und sehen Sie sich die Einführung zur langsamen Abfrage an

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
Nach dem Login kopieren

Fügen Sie zwei Konfigurationszeilen hinzu

slowlog=/var/log/php7.0/fpm/slow.log
request_slowlog_timeout=1s
Nach dem Login kopieren

Starten Sie fpm neu und achten Sie auf allgemeine Probleme wie das Verzeichnis Berechtigungen

service php7.0-fpm reload
Nach dem Login kopieren

Protokoll-Echo-Ergebnisse anzeigen

[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
Nach dem Login kopieren

Erklärung zum Protokoll

[03-Jan-2018 18:48:53]  [pool www] pid 4931
Nach dem Login kopieren

Dafür gibt es keine Erklärung, die Zeitprozess-ID

script_filename = /usr/share/nginx/ testapp/index.php
Nach dem Login kopieren

Name des Ausführungsskripts, PHP-Webanwendungen sind alle Single-Entry

[0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11
Nach dem Login kopieren

Diese dritte Zeile ist wichtiger: Sie steht ganz oben im Stack-Trace und zeigt an, dass die Der Schwellenwert wurde überschritten. Welcher Funktionsaufruf ist die aktuell ausgeführte Methode sowie die spezifische Datei und Anzahl der Codezeilen

Der Rest ist die Reihenfolge der Aufrufe (von unten nach oben, was letztendlich zu einer Verlangsamung führt und Timeout)

Andere Anweisungen

Wenn Sie feststellen, dass die dritte Zeile beispielsweise „curl_exec()“ ähnelt: Dies ist normalerweise das Netzwerk-IO, das Zeit in Anspruch nimmt, wenn Es ist dann notwendig, einen Dritten anzufordern. . Hab Geduld damit.

[0x00007fb6262136f0] curl_exec() /usr/share/nginx/
Nach dem Login kopieren

In ähnlicher Weise wird mysql_query und dergleichen auch durch eine langsame SQL-Abfrage verursacht.

Verwandte Empfehlungen: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonphp-fpm7.0 langsame Abfrageeinstellungen und Anweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage