Когато разработваме уебсайт с PHP, ако някои динамични страници са много бавни за достъп след пускането, можем да анализираме тесното място на сайта чрез php-fpm бавни логове.
PHP-FPM Slowlog настройката ни позволява да видим кои PHP процеси са твърде бавни и причиняват проблеми с сайта.
Първо, проверете всички процеси чрез командата top -c, за да видите адреса на конфигурационния файл, зареден от php-fpm, както е показано на фигурата по-долу:
FPM конфигурация
параметър: -p, динамично променяйте префикса ---в командния ред
include=etc/php-fpm.d/*.conf, за да съдържа един или повече файлове, ако съществува glob(3) (функцията glob() връща име или директория, която съвпада със зададения модел)
PHP-FPM зарежда подконфигурационен файл, $pool променлива може да се използва във всяка директива и тя замества съответното име на процесния пул. Например: тук[www]
Включи бавни трупи
влизам/usr/local/etc/php-fpm.dПодконфигурационен файл, намери www.conf (според твоята реална ситуация), версиите PHP 5.3.3 и по-нови са настроени по следния начин:
; Таймаутът за обслужване на една заявка, след което PHP backtrace ще бъде ; изхвърлен във файла 'slowlog'. Стойност "0s" означава "изключено". ; Налични единици: s(econds)(по подразбиране), m(inutes), h(ours) или d(ays) ; Стандартна стойност: 0 request_slowlog_timeout = 1s ; Лог файлът за бавни заявки ; Стандартна стойност: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Времето за връчване на една заявка, след което процесът на работника ще бъде ; да бъдеш убит. Тази опция трябва да се използва, когато опцията 'max_execution_time' ini ; по някаква причина не спира изпълнението на скрипта. Стойност '0' означава 'изключено'. ; Налични единици: s(econds)(по подразбиране), m(inutes), h(ours) или d(ays) ; Стандартна стойност: 0 request_terminate_timeout = 10s Забележка: request_terminate_timeout Прекратете процес, който е работил твърде дълго директно
request_slowlog_timeout Записвайте файлове, които са твърде бавни за изпълнение в лога
Отсега нататък можете да оптимизирате файловете на програмата според лога за бавно изпълнение /usr/local/php/log/php-fpm.log.slow!
|