標籤:style http io 使用 ar for 檔案 sp div
使用WinCacheGrind來分析php的執行時間和效率,需要安裝XDebug這個擴充。如果對XDebug不太瞭解的話,請先看《PHP調試利器XDebug的安裝與使用》這篇文章。
WinCacheGrind是windows下的profile查看程式。所謂profile,就是程式或軟體儲存的檔案資料,這裡的profile就是xdebug產生的Log檔案。WinCacheGrind :http://sourceforge.net/projects/wincachegrind興城市費永禮品
前面說到的這篇文章已經介紹了使用XDebug時,對php.ini的配置。但是就算XDebug配置完畢,WinCacheGrind也未必能使用。請確保在php.ini檔案有這麼兩處配置:
view source print?
1 |
;xdebug.profiler_enable = 0 //預設是0,要改掉 |
2 |
xdebug.profiler_enable = on |
3 |
;xdebug.profiler_output_name = "xdebug_profile.%R::%u" //這個格式WinCacheGrind用不了 |
4 |
xdebug.profiler_output_name = "cachegrind.out.%p" |
加了這兩行,WinCacheGrind就能使用了。補一個全的:
view source print?
1 |
extension=php_xdebug.dll |
2 |
xdebug.profiler_enable=on |
3 |
xdebug.trace_output_dir= "X:\Projects\xdebug" |
4 |
xdebug.profiler_output_dir= "X:\Projects\xdebug" |
5 |
xdebug.profiler_output_name = "cachegrind.out.%p" |
最後一行主要是為了和wincachegrind.out整合。
開啟WinCacheGrind,將"Tools"=>"Options" =>"Main"的"working flolder" 設定為php.ini中指定的路徑xdebug目錄。然後重新整理一下本地的網頁,應該就可以看到下面的監控檔案了。
開啟在那個目錄中產生的 cachegrind.out.* 就可以看到每一個程序呼叫執行了多長時間。
使用的話比較簡單,展開左側的樹形菜單,尋找最耗時的操作,然後找到代碼,就可以針對性開始最佳化了。比如下面對CI架構的一個應用進行效能分析。
WinCacheGrind配合XDebug分析PHP程式效能