使用 XDebug + Webgrind 進行 PHP 程式效能分析

cnguu發表於2019-12-14

準備

Webgrind

因為 Profiler 生成的效能記錄檔案的格式,不是給人看的,所以需要 Webgrind 圖形介面的分析工具

:: tip
Webgrind 本質上是一個 PHP 網站程式

::

使用

在需要分析的 Url 後面接上 ?XDEBUG_PROFILE,例如:http://localhost:8000/?XDEBUG_PROFILE

然後重新整理 Webgrind 網頁,最新的資料就會顯示

圖片

選項

Show 90%

所有被呼叫的函式和方法由高到低排序,然後取出耗時比率之和在 90%~100% 之間的前 N 個

of Auto(newest)

選擇生成的 Profiler 檔案,預設是最新一次的 XDebug 分析記錄

in percent

顯示百分比、毫秒或微秒

四色膠囊條

  • 藍色:PHP 內建函式
  • 灰色:require/include
  • 綠色:方法
  • 橙色:自定義函式

Invocation count

表示整個 PHP 頁面從載入到執行完畢,函式被呼叫的總次數

Total Self Cost

表示自身從開始到執行完畢所用消耗(不包括其他函式消耗)

Total Inclusive Cost

表示自身從開始到執行完畢所用消耗(包括其他函式消耗)

Calls

表示自身呼叫並執行的所有函式/方法名、次數及耗時

Total Call Cost

表示被呼叫執行的總耗時

Count

表示被呼叫執行的次數

總結

對公司現後臺分析,果然,最耗時的還是資料庫部分

相關文章