使用XDebug和WinCacheGrind分析PHP性能
WEB性能日志工具
1.MySQL慢查詢日志
2.Xdebug日志
說道PHP代碼調試,對于有經驗的PHPer,通過echo、print_r、var_dump函數,或PHP開發工具zend studio、editplus可解決大部分問題,但是對于PHP入門學習的童鞋來說有一定的難度,而且僅僅通過上述這些PHP調試手段,也很難準確發現PHP性能方面的問題,Xdebug是一個非常有用的PHP調試工具?。
Xdebug作為PHP調試工具,提供了豐富的調試函數,也可將Xdebug安裝配置為zend studio、editplus調試PHP的第三方插件,通過開啟自動跟蹤(auto_trace)和分析器功能,可以直觀的看到PHP源代碼的性能數據,以便優化PHP代碼。今天和大家分享PHP調試工具Xdebug安裝以及配置方面的基礎知識。
Xdebug安裝教程
下載Xdebug?????? http://xdebug.org
首先我們需要下載Xdebug,務必根據安裝的PHP版本,選擇合適的Xdebug版本 ,如果你不清楚安裝的PHP版本,你可以通過phpinfo()函數參看
安裝Xdebug
將下載的php_xdebug-2.1.0-5.3-vc6.dll復制到PHP安裝目錄下的ext目錄,ext目錄專門用來存放PHP擴展庫DLL文件。
配置php.ini
安裝Xdebug的最后一步就是配置php.ini文件,在末尾添加
最后重啟Apache服務器,通過phpinfo()函數,可以看到
利用Xdebug測試腳本執行時間
使用Xdebug_time_index()來顯示時間
測試腳本占用的內存:
xdebug_memory_usage()
xdebug還提供了一個xdebug_peak_memory_usage()來查看內存占用的峰值
Xdebug部分配置選項說明
xdebug.auto_trace = 1
是否允許Xdebug跟蹤函數調用,跟蹤信息以文件形式存儲,默認值為0
collect_params = 1
是否允許Xdebug跟蹤函數參數,默認值為0
xdebug.collect_return = 1
是否允許Xdebug跟蹤函數返回值,默認值為0
xdebug.profiler_enable = 1
打開xdebug的性能分析器,以文件形式存儲,這項配置是不能以ini_set()函數配置的,默認值為0
xdebug.profiler_output_dir
性能分析文件的存放位置,默認值為/tmp
xdebug.profiler_output_name
性能分析文件的命名規則,默認值為cachegrind.out.%p
xdebug.trace_output_dir
函數調用跟蹤信息輸出文件目錄,默認值為/tmp
xdebug.trace_output_name
函數調用跟蹤信息輸出文件命名規則,默認為trace.%c
特別說明:Xdebug的trace和profiler的輸出文件名規則是可以更改的,比如將文件名命名為具體跟蹤的PHP執行文件名、進程ID、隨機數等,非常方便,更多的Xdebug配置選項說明,請參考官網的Xdebug配置選項說明。
至此PHP調試工具Xdebug教程之Xdebug的安裝和配置就介紹完了,今后還將陸續介紹Xdebug如何在zend studio以及editplus中配置使用。
Xdebug的crontab定時刪除一天之前的日志文件,只在測試環境裝
Java代碼??在優化php代碼執行效率的過程中,有個好辦法是利用XDebug或XHProf生成Profile文件,然后查看Profile文件分析整個程序的瓶頸在哪里。如果用XDebug生成Profile文件現在XDebug Profile的查看程序有好幾個
WinCacheGrind是windows下的profile查看程序,使用起來感覺還不錯,profile文件太大的話偶爾會崩潰。
KCachegrind是linux下的一個圖形化profile查看工具,功能很強勁。
總結
以上是生活随笔為你收集整理的使用XDebug和WinCacheGrind分析PHP性能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: doT js 宏的使用
- 下一篇: PHP XML和数组互相转换