這篇文章主要介紹了PHP性能分析工具XHProf安裝使用教程,本文給出詳細安裝步驟和配置方法以及使用實例,需要的朋友可以參考下
HProf是facebook開源出來的一個php輕量級的性能分析工具,跟Xdebug類似,但性能開銷更低,還可以用在生產環境中,也可以由程序開關來控制是否進行profile。基於浏覽
器的性能分析用戶界面能更容易查看,或是與同行們分享成果。也能繪制調用關系圖。在數據收集階段,它記錄調用次數的追蹤和包容性的指標弧在動態callgraph的一個程序。
它獨有的數據計算的報告/後處理階段。在數據收集時,XHProfd通過檢測循環來處理遞歸的函數調用,並通過給遞歸調用中每個深度的調用一個有用的命名來避開死循環。
XHProf的輕量級性質和匯聚功能,使得它非常適合用於收集“生產環境”的性能統計數據的統計。
1. 安裝XHProf
代碼如下:
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxf xhprof-0.9.2.tgz
cd xhprof-0.9.2
cp -r xhprof_html xhprof_lib
cd extension
phpize
./configure
make
make install
2. 配置 php.ini 文件
代碼如下:
[xhprof]
extension=xhprof.so
;
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
; 記得
xhprof.output_dir=
重啟服務讓修改生效,現在就可以使用XHProf了,不過為了顯示效果更炫,最好繼續安裝Graphviz。
3. 安裝Graphviz
代碼如下:
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.26.3.tar.gz
tar zxf graphviz-2.26.3.tar.gz
cd graphviz-2.26.3
./configure
make
make install
安裝完成後,會生成/usr/local/bin/dot文件,你應該確保路徑在PATH環境變量裡,以便XHProf能找到它。
4. 應用XHProf
復制代碼 代碼如下:
xhprof_enable();//打開xhprof
/******程序邏輯 Start******/
function test1(){
sleep(3);
return;
}
function test2(){
test1();
}
function test3(){
test2();
}
function p(){
echo '
';
}
p();
test3();
/******程序邏輯 End******/
$xhprof_data = xhprof_disable();//關閉xhprof
//保存xhprof數據
include_once '../xhprof_lib/utils/xhprof_lib.php';
include_once '../xhprof_lib/utils/xhprof_runs.php';
$xhprof_runs = new XHProfRuns_Default();
$xhprof_source = 'xhprof_test';
$run_id = $xhprof_runs->save_run($xhprof_data, $xhprof_source);
$report_url = 'http://xhprof.rebill.info/index.php?run='.$run_id.'&source='.$xhprof_source;
echo '
';
echo 'view the performance report:'.$report_url.'';
如此一來,會在上面設定的xhprof.output_dir目錄裡生成名字類似4c236583ef490.xhprof_test的數據文件,可以很方便的通過Web方式浏覽效果:
http://xhprof.rebill.info/index.php?run=4c236583ef490&source=xhprof_test
目前顯示的是表格形式的顯示,點擊頁面上的[View Full Callgraph],就能看到精美的圖片顯示了。
在線測試體驗地址:http://xhprof.rebill.info/test.php