這篇文章主要介紹了PHP性能測試工具xhprof安裝與使用方法,簡單說明了性能測試工具xhprof的功能并較為詳細的分析了xhprof安裝與使用相關操作技巧,需要的朋友可以參考下。
本文實例分析了PHP性能測試工具xhprof安裝與使用方法。分享給大家供大家參考,具體如下:
xhprof概述:
XHProf是一個分層PHP性能分析工具。它報告函數級別的請求次數和各種指標,包括阻塞時間,CPU時間和內存使用情況。一個函數的開銷,可細分成調用者和被調用者的開銷,XHProf數據收集階段,它記錄調用次數的追蹤和包容性的指標弧在動態callgraph的一個程序。它獨有的數據計算的報告/后處理階段。在數據收集時,XHProfd通過檢測循環來處理遞歸的函數調用,并通過給遞歸調用中每個深度的調用一個有用的命名來避開死循環。XHProf分析報告有助于理解被執行的代碼的結構,它有一個簡單的HTML的用戶界面( PHP寫成的)?;跒g覽器的性能分析用戶界面能更容易查看,或是與同行們分享成果。也能繪制調用關系圖。
安裝與使用:
最近要做網站的性能對比,于是就找一款性能測試工作來玩玩,工具很多,但相比之前還是覺得xhprof的安裝和使用相對來說簡單點,數據分析也都還可以,下面就說說它的安裝和使用。。。
下載xhprof和graphviz
xhprof的話,直接去php官網就可以下載,為了方便可以戳一下 這里
graphviz的話也要下載,主要是顯示xhprof性能結果的圖形報表,戳這里 這里
編譯安裝xhprof
- cd xhprof-0.9.4/xhprof-0.9.4/extension/
- phpize
- ./configure
- make
- sudo make install
將生成的xhprof.so文件加到php.ini文件中,然后重啟apache了
- ...
- #這里要使用相對路徑加載的話首先要看一下extension_dir配置的路徑,或者直接寫上`.so`文件的絕對能夠路徑即可。。。
- extension=xhprof.so
- ...
- sudo apachectl restart
- ##測試擴展是否安裝成功,有如下輸出則ok
- php --ri xhprof
- ...
- xhprof
- xhprof => 0.9.2
- CPU num => 4
- ...
安裝graphviz
- cd graphviz-2.38.0/
- #后面參數是要確保安裝了libphp才行哦【沒安裝的 brew install linpng 就可】
- ./configure --with-png=yes
- make
- sudo make install
測試一下了
在之前下載的xhprof文件夾里面,找到xhprof_html,xhprof_lib、sample三個文件夾,那這三個文件夾放到你可以訪問到得地方去,然后通過連接先訪問以下http://xxxx/sample/sample.php,在訪問以下http://xxxx/xhprof_html/,就會看到有一條記錄,點擊后就可以看到分析結果頁面,通過點擊 View Full CallGraph鏈接到圖形報表的頁面。
如何使用
假設你現在要看看看自己做的一個網站的首頁性能數據,那么你要找到這個網站的首頁入口文件,在核心文件加載之前和之后分別加上xhprof的性能測試代碼
- #開啟,具體參數說明可以查看官方文檔
- xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);
- #核心文件的執行
- ...
- require 'index.php'
- ...
- #關閉
- $xhprof_data = xhprof_disable();
- #這里的路徑根據自己的站點來配置
- $XHPROF_ROOT = realpath(dirname(__FILE__) .'/');
- include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
- include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
- $xhprof_runs = new XHProfRuns_Default();
- $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof");
- #這里打印出本次測試的id,方便到報表列表頁面【http://xxxx/xhprof_html/】去通過對應的id找到對應的結果
- var_dump($run_id);
新聞熱點
疑難解答