При розробці сайту на PHP, якщо деякі динамічні сторінки 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-зворотне трасування ; завантажено у файл 'slowlog'. Значення '0s' означає 'off'. ; Доступні одиниці: 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 ; Тайм-аут для вручення одного запиту, після чого відбувається процес працівника ; бути вбитою. Цю опцію слід використовувати, коли є варіант ini 'max_execution_time' ; з якоїсь причини не зупиняє виконання скриптів. Значення '0' означає 'off'. ; Доступні одиниці: 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!
|