Når man udvikler en hjemmeside med PHP, og nogle PHP-dynamiske sider er meget langsomme at tilgå efter lancering, kan vi analysere websitets flaskehals gennem PHP-FPM langsomme logs.
PHP-FPM slowlog-indstillingen giver os mulighed for at se, hvilke PHP-processer der er for langsomme og forårsager problemer på hjemmesiden.
Tjek først alle processer via kommandoen top -c for at se konfigurationsfiladressen, der indlæses af php-fpm, som vist i figuren nedenfor:
FPM-konfiguration
parameter: -p, dynamisk modificere --præfiks i kommandolinjen
include=etc/php-fpm.d/*.conf for at indeholde en eller flere filer, hvis glob(3) eksisterer (glob()-funktionen returnerer et filnavn eller en mappe, der matcher det specificerede mønster)
php-fpm indlæser en underkonfigurationsfil, $pool variabel kan bruges i ethvert direktiv, og den vil erstatte det tilsvarende navn på processpoolen. For eksempel: her[www]
Tænd for langsomme træstammer
indtaste/usr/local/etc/php-fpm.dSubkonfigurationsfil, find www.conf (alt efter din faktiske situation), PHP 5.3.3 og senere versioner er sat som følger:
; Timeout'en for at levere en enkelt anmodning, hvorefter en PHP-backtrace vil være ; dumpet til 'slowlog'-filen. En værdi af '0'er betyder 'forkert'. ; Tilgængelige enheder: s(econds)(standard), m(inutes), h(vores) eller d(ays) ; Standardværdi: 0 request_slowlog_timeout = 1 ; Logfilen for langsomme forespørgsler ; Standardværdi: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Tiden for at forkynde en enkelt anmodning, hvorefter medarbejderen vil behandle ; blive dræbt. Denne mulighed bør bruges, når 'max_execution_time' ini-muligheden bruges ; stopper ikke script-eksekveringen af en eller anden grund. En værdi på '0' betyder 'fra'. ; Tilgængelige enheder: s(econds)(standard), m(inutes), h(vores) eller d(ays) ; Standardværdi: 0 request_terminate_timeout = 10'ere Bemærk: request_terminate_timeout Afslut en proces, der har kørt for længe direkte,
request_slowlog_timeout Skriv filer, der er for langsomme til at køre til loggen
Fra nu af kan du optimere programfilerne efter slow execution-logen /usr/local/php/log/php-fpm.log.slow!
|