体验XHProf(linux版本)
生活随笔
收集整理的這篇文章主要介紹了
体验XHProf(linux版本)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
調試PHP時,XDebug一直是大眾的不二選擇,搭配上Webgrind,可以獲得不錯的效果。今天看某人的棲息地里的介紹,才發現了XHProf,于是體驗了一下,感覺很酷,與XDebug相比,運行更輕便(本身還包括一個web查看工具),表現更易懂,下面記錄一下體驗過程。?
1.安裝XHProf?
2 . 配置php.ini ?
Php.ini代碼
重啟服務讓修改生效,現在就可以使用XHProf了,不過為了顯示效果更炫,最好繼續安裝Graphviz。?
3. 安裝Graphviz ?
Command代碼
安裝Graphviz的目的是為了xhprof圖形化web工具查看profiling log文件。安裝后使用web工具查看log圖形時,最常見錯誤是:?
提示如下:?
引用 Error: either we can not find profile data for run_id 4d7f0bd99a12f or the threshold 0.01 is too small or you do not have ‘dot’ image generation utility installed.
且編譯graphviz提示信息png: No (missing png.h),也就是dot 不支持PNG,所以需要安裝libpng包,如:?
Linux代碼
然后重新編譯安裝graphviz,加上參數--with-png=yes。完成后,應確保命令dot在PATH環境變量里(默認應該就在路徑里,一般不需要特別設置),以便XHProf能找到它。?
使用XHProf ?
在你要監測的Php代碼頭尾部分別加入代碼xhprof_enable()和xhprof_disable()?
Php代碼
如此一來,會在上面設定的xhprof.output_dir目錄里生成名字類似49bafaa3a3f66.xhprof_foo的數據文件,可以很方便的通過Web方式瀏覽效果:?
http://<xhprof-ui-address>/index.php?run=49bafaa3a3f66&source=xhprof_foo?
目前顯示的是表格形式的顯示,點擊頁面上的[View Full Callgraph],就能看到精美的圖片顯示了。看看下面的screenshot.?
結果分析?
引用
主要指標:
Inclusive Time (或子樹時間):包括子函數所有執行時間。
Exclusive Time/Self Time:函數執行本身花費的時間,不包括子樹執行時間。
Wall時間:花去了的時間或掛鐘時間。
CPU時間:用戶耗的時間+內核耗的時間
# 如果xhprof_enable函數寫作:xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY)可以輸出更多指標。
Function Name 函數名
Calls 調用次數
Calls% 調用百分比
# 消耗時間
Incl. Wall Time (microsec) 調用的包括子函數所有花費時間 以微秒算(一百萬分之一秒)
IWall% 調用的包括子函數所有花費時間的百分比
Excl. Wall Time (microsec) 函數執行本身花費的時間,不包括子樹執行時間,以微秒算(一百萬分之一秒)
EWall% 函數執行本身花費的時間的百分比,不包括子樹執行時間
# 消耗CPU
Incl. CPU(microsecs) 調用的包括子函數所有花費的cpu時間。減Incl. Wall Time即為等待cpu的時間
ICpu% Incl. CPU(microsecs)的百分比
Excl. CPU(microsec) 函數執行本身花費的cpu時間,不包括子樹執行時間,以微秒算(一百萬分之一秒)。
ECPU% Excl. CPU(microsec)的百分比
# 消耗內存
Incl.MemUse(bytes) 包括子函數執行使用的內存。
IMemUse% Incl.MemUse(bytes)的百分比
Excl.MemUse(bytes) 函數執行本身內存,以字節算
EMemUse% Excl.MemUse(bytes)的百分比
# 消耗內存峰值
Incl.PeakMemUse(bytes) Incl.MemUse的峰值
IPeakMemUse% Incl.PeakMemUse(bytes) 的峰值百分比
Excl.PeakMemUse(bytes) Excl.MemUse的峰值
EPeakMemUse% EMemUse% 峰值百分比
來源:http://koda.iteye.com/blog/463891
總結
以上是生活随笔為你收集整理的体验XHProf(linux版本)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大型网站技术架构小结
- 下一篇: xhprof安装和使用方法(linux版