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

 

スポンサーリンク

0
0