PHP-FPMで処理が遅いスローログを出力する
CentOS 7からRockyLinux8に移行したサーバーでPHPの一部の処理で遅くなっているので、原因究明のためPHP-FPMの処理の遅い処理のをログに出力するようにしました
設定は、「/etc/php-fpm.d/www.conf」のファイルを以下に変更することで有効になります
$ sudi vim /etc/php-fpm.d/www.conf slowlog = /var/log/php-fpm/www-slow.log request_slowlog_timeout = 10s catch_workers_output = yes
各設定の意味は下記となります
- slowlog:スローログファイルの保存場所を指定します
- request_slowlog_timeout:リクエスト処理に指定した秒数以上かかった場合、スローログに記録する設定です。今回は10秒で設定
- catch_workers_output:ワーカプロセスからの出力をスローログに記録するかどうかを指定します
上記設定後、php-fpm, apacheの再起動をすると設定が有効になります
$ sudo systemctl restart httpd $ sudo systemctl restart php-fpm
スローログがログローテーションされていないとログが肥大化するの設定されているか確認します。「/etc/logrotate.d/php-fpm 」以下のログファイルはローテーション対象と設定されているのでログローテーションの設定追加は不要でした
$ cat /etc/logrotate.d/php-fpm /var/log/php-fpm/*log { missingok notifempty daily rotate 30 dateext sharedscripts delaycompress postrotate /bin/kill -SIGUSR1 `cat /run/php-fpm/php-fpm.pid 2>/dev/null` 2>/dev/null || true e
ディスカッション
コメント一覧
まだ、コメントがありません