PHP-FPM 導致負載過高的排查方法 善用PHP慢執行日誌slow log

spectre2發表於2016-07-11
PHP有慢執行日誌slow log,可以定位指令碼執行超過指定的時間的頁面資訊,方便排查效能問題~
型別下面的輸出:
[11-Jul-2016 15:14:27]  [pool www] pid 10292
script_filename = /home/xxxxxxxxxxxxxxxxx/web/public/index.php
[0x00007fe454c53410] imagecopyresampled() /home/xxxxxxxxxxxxxxxxx/Service/ImageHandle.php:140
[0x00007fe454c53300] imagescaling() /home/xxxxxxxxxxxxxxxxx/Service/ImageHandle.php:85
[0x00007fe454c53230] scaling() /home/xxxxxxxxxxxxxxxxx/Service/ImageHandle.php:39
[0x00007fe454c52fd0] outimage() /home/xxxxxxxxxxxxxxxxx/Service/Image.php:106
[0x00007fe454c52d10] upload() /home/xxxxxxxxxxxxxxxxx/Service/Image.php:222
[0x00007fe454c52ba0] add() /home/xxxxxxxxxxxxxxxxx/Common.php:48
[0x00007fff1e8d4bd0] uploadImageAction() unknown:0
[0x00007fe454c52a88] run() /home/xxxxxxxxxxxxxxxxx/Bootstrap.php:39
[0x00007fe454c52950] run() /home/xxxxxxxxxxxxxxxxx/index.php:19

從中可以發現,是上傳圖片導致cpu佔用,進而導致負載上升的。
滿日誌的開啟方法很簡單,改下php.ini就可以了:
5.6如下:
request_slowlog_timeout = 5s
slowlog = /usr/local/php/log/php-fpm-slowlog.log

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-2121841/,如需轉載,請註明出處,否則將追究法律責任。

相關文章