使用xdebug對php程序性能分析

這裏只是對xdebug性能優化(xdebug還可以結合其他ide斷點調試等)簡單描述下,詳細的可以參考xdebug的官方站點 http://xdebug.org/

xdebug是什麼

Xdebug是一個開放源代碼的PHP程序調試器(即一個Debug工具),可以用來跟蹤,調試和分析PHP程序的運行狀況。(http://baike.baidu.com/view/1823486.htm)

xdebug的安裝

php的集成開發環境wampserver和xampp都已安裝xdebug,不過可能沒有開啓,需要到php.ini中開啓,通過phpinfo可以得知是否安裝了xdebug的擴展;

原生的php環境(win32或者linux)如何安裝xdebug,baidu或google下


xdebug跟蹤性能的方式

1 使用xdebug的api xdebug_time_index() ,具體的參考http://xdebug.org/docs/basic

2 生成文件,通過工具來分析,具體的參考 http://xdebug.org/docs/profiler


生成文件的方式也有兩種:

a 每次執行程序都生成一個文件

b根據get/post/cookie參數生成文件

例:http://localhost/index.php?XDEBUG_PROFILE   注意這裏 一定要大寫

cookie方式firebug和chrome都有插件

使用這種方式需要將xdebug.profiler_enable設置爲0,並開啓xdebug.profiler_enable_trigger


工具

Webgrind 這個是基於瀏覽器的php程序,需要分析的文件不多的情況下,可以很方便的使用

WinCacheGrind win32平臺

KCacheGrindtool (Linux/Windows, KDE)


我的部分xdebug參數(沒有寫的屬性都是有默認值的)

zend_extension = "D:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 1
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "D:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.-%s"

詳細的參數說明可以參考官方文檔,英文水平不行,就不翻譯了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章