PHP效能分析之xdebug+webgrind
阿新 • • 發佈:2021-07-12
Xdebug是一個開放原始碼的PHP程式偵錯程式,可以用來跟蹤,除錯和分析PHP程式的執行狀況。這裡僅說明用來對php執行狀態的使用說明。
xdebug安裝
- 執行
php -m
檢視是否已安裝xdebug
擴充套件,已安裝則跳過當前步驟 - 原始碼地址:https://github.com/xdebug/xdebug
- 編譯完成後編輯
php.ini
檔案,新增如下
; 引入xdebug擴充套件 extension=xdebug.so ; 配置xdebug [xdebug] ; 自動生產分析檔案 xdebug.profiler_enable=0 ; 啟用觸發,url新增引數XDEBUG_PROFILE才會生成分析檔案 xdebug.profiler_enable_trigger=1 ; 分析檔案儲存路徑(預設/tmp) ; xdebug.profiler_output_dir = "/tmp/xdebug" ; 分析檔名稱 ; xdebug.profiler_output_name=cachegrind.out.%p
- 重啟
php-fpm
或apache
以生效
webgrind安裝
webgrind
只需引入即可- 原始碼地址:https://github.com/jokkedk/webgrind/
- 配置
nginx
或放入專案中
使用
-
請求介面,新增引數
XDEBUG_PROFILE
,會在指定路徑中生成一個檔案 -
開啟
webgrind
-
選好引數後點擊
update
如下圖
引數說明
- show 90%:要顯示耗時比率,最好不要選100%,會卡。相當於顯示出比較耗時的方法
- Invocation Count:被呼叫執行的次數
- Total Self Cost:自身耗時
- Total Inclusive Cost:綜合耗時
- 比例條:藍色(內建函式),灰色(引入檔案),青色(自定義函式),橙色(過程執行所佔時間的比例)