PHP效能分析工具XHProf安裝使用教程
HProf是facebook開源出來的一個php輕量級的效能分析工具,跟Xdebug類似,但效能開銷更低,還可以用在生產環境中,也可以由程式開關來控制是否進行profile。基於瀏覽
器的效能分析使用者介面能更容易查看,或是與同行們分享成果。也能繪製呼叫歷程圖。在資料收集階段,它記錄調用次數的追蹤和包容性的指標弧在動態callgraph的一個程式。
它專屬的資料計算的報告/後處理階段。在資料收集時,XHProfd通過檢測迴圈來處理遞迴的函數調用,並通過給遞迴調用中每個深度的調用一個有用的命名來避開死迴圈。
XHProf的輕量級性質和匯聚功能,使得它非常適合用於收集“生產環境”的效能統計資料的統計。
1. 安裝XHProf
wget http://pecl.php.net/get/xhprof-0.9.2.tgztar zxf xhprof-0.9.2.tgzcd xhprof-0.9.2cp -r xhprof_html xhprof_lib cd extensionphpize./configuremakemake 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.; 記得WEB要有寫入許可權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 ./configuremake make install
安裝完成後,會產生/usr/local/bin/dot檔案,你應該確保路徑在PATH環境變數裡,以便XHProf能找到它。
4. 應用XHProf
//author http://www.lai18.comxhprof_enable();//開啟xhprof/******程式邏輯 Start******/function test1(){ sleep(3); return;}function test2(){ test1();}function test3(){ test2();}function p(){ echo 'xhprof test
';}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.'';