PHP-FPM 導致負載過高的排查方法 善用PHP慢執行日誌slow log
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
型別下面的輸出:
[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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php-fpm慢執行日誌PHP
- php-fpm的pool、php-fpm慢執行日誌、open_basedir、php-fpm程式管理PHP
- php-fpm的pool、慢執行日誌、程式管理、open_basedirPHP
- mysql之 slow log 慢查詢日誌MySql
- MySQL Slow Query log(慢查詢日誌)MySql
- [Slow log]正確安全清空線上慢查詢日誌slow log的流程
- [MySQL Slow log]正確安全清空線上慢查詢日誌slow log的流程MySql
- 開啟php-fpm慢指令碼日誌PHP指令碼
- 執行計劃錯誤導致系統負載高負載
- PHP效能調優—php-fpm中啟用慢日誌配置(用於檢測執行較慢的PHP指令碼)PHP指令碼
- 執行計劃變化導致CPU負載高的問題分析負載
- RLM$SCHDNEGACTION 執行導致負載問題負載
- 開啟mysql和php慢日誌方法MySqlPHP
- PHP慢指令碼日誌和Mysql的慢查詢日誌PHP指令碼MySql
- MySQL:慢SQL(slow_log)MySql
- 一次FGC導致CPU飆高的排查過程GC
- 故障分析 | 大量短時程式導致 cpu 負載過高案例一則負載
- 記一次 PHP-FPM 可以建立慢日誌,但是卻不能寫入內容的折騰過程PHP
- Oracle監聽日誌過大導致的問題Oracle
- 記php-fpm重啟導致的一個bugPHP
- ntpdate會導致mysql slow query log出現很大的query timeMySql
- nginxphp-fpm中啟用慢日誌配置(用於檢測執行較慢的PHP指令碼)NginxPHP指令碼
- 解Bug之路-記一次中介軟體導致的慢SQL排查過程SQL
- PHP-FPM 的三種執行模式PHP模式
- 記一次故障排查(vnc日誌檔案過大導致crsd程式異常終止)VNC
- MySQLSlowlog慢查詢日誌的配置以及清空日誌內容MySql
- 使用logrotate日誌切割工具輪循mysql的error.log/slow.log,遇到未生成壓縮檔案,測試執行卻正常logrotateMySqlError
- jdbc autoReconnect=true 引數設定導致 slow log 爆表。JDBC
- ADB logcat 過濾方法(抓取日誌)GC
- 低效sql導致DB負載很高SQL負載
- 解決記錄日誌導致VS2013緩慢的問題
- 定位apache慢請求神器—mod_log_slowApache
- 線上安全清空慢查詢日誌slowlog
- 開啟PHP的錯誤log日誌PHP
- Sybase資料庫日誌過大導致不能啟動(轉)資料庫
- C# Debug執行日誌Logs的實現C#
- MySQL更新資料時,日誌(redo log、binlog)執行流程MySql
- 一次死鎖導致CPU異常飄高的整個故障排查過程