借助XDebug Profiler記錄callstack,再用Cachegrind工具圖形化顯示,讓我們可以快速簡單地瞭解程式碼效能瓶頸,在追蹤程式碼時也十分好用。
設定xdebug profiler
首先需要在php.ini中啟用XDebug,並且填入以下設定
1 | ;預設不啟用 |
產生並載入記錄檔
接著只要實際存取一下網頁,並且帶上XDEBUG_PROFILE=1
參數,每個請求就會產生一筆記錄檔案在指定的位置了。
用Cachegrind載入後,就會自動顯示如首圖了。
耗時顯示可切換成百分比或1/1000000秒。
p.s ubuntu上的叫KCachegrind,windows上的叫QCachegrind