PHP性能測(cè)試工具xhprof安裝與使用方法詳解
本文實(shí)例分析了PHP性能測(cè)試工具xhprof安裝與使用方法。分享給大家供大家參考,具體如下:
xhprof概述:
XHProf是一個(gè)分層PHP性能分析工具。它報(bào)告函數(shù)級(jí)別的請(qǐng)求次數(shù)和各種指標(biāo),包括阻塞時(shí)間,CPU時(shí)間和內(nèi)存使用情況。一個(gè)函數(shù)的開(kāi)銷,可細(xì)分成調(diào)用者和被調(diào)用者的開(kāi)銷,XHProf數(shù)據(jù)收集階段,它記錄調(diào)用次數(shù)的追蹤和包容性的指標(biāo)弧在動(dòng)態(tài)callgraph的一個(gè)程序。它獨(dú)有的數(shù)據(jù)計(jì)算的報(bào)告/后處理階段。在數(shù)據(jù)收集時(shí),XHProfd通過(guò)檢測(cè)循環(huán)來(lái)處理遞歸的函數(shù)調(diào)用,并通過(guò)給遞歸調(diào)用中每個(gè)深度的調(diào)用一個(gè)有用的命名來(lái)避開(kāi)死循環(huán)。XHProf分析報(bào)告有助于理解被執(zhí)行的代碼的結(jié)構(gòu),它有一個(gè)簡(jiǎn)單的HTML的用戶界面( PHP寫成的)?;跒g覽器的性能分析用戶界面能更容易查看,或是與同行們分享成果。也能繪制調(diào)用關(guān)系圖。
安裝與使用:
最近要做網(wǎng)站的性能對(duì)比,于是就找一款性能測(cè)試工作來(lái)玩玩,工具很多,但相比之前還是覺(jué)得xhprof的安裝和使用相對(duì)來(lái)說(shuō)簡(jiǎn)單點(diǎn),數(shù)據(jù)分析也都還可以,下面就說(shuō)說(shuō)它的安裝和使用。。。
下載xhprof和graphviz
xhprof的話,直接去php官網(wǎng)就可以下載,為了方便可以戳一下 這里
graphviz的話也要下載,主要是顯示xhprof性能結(jié)果的圖形報(bào)表,戳這里 這里
編譯安裝xhprof
cd xhprof-0.9.4/xhprof-0.9.4/extension/ phpize ./configure make sudo make install
將生成的xhprof.so文件加到php.ini文件中,然后重啟apache了
... #這里要使用相對(duì)路徑加載的話首先要看一下extension_dir配置的路徑,或者直接寫上`.so`文件的絕對(duì)能夠路徑即可。。。 extension=xhprof.so ... sudo apachectl restart ##測(cè)試擴(kuò)展是否安裝成功,有如下輸出則ok php --ri xhprof ... xhprof xhprof => 0.9.2 CPU num => 4 ...
安裝graphviz
cd graphviz-2.38.0/ #后面參數(shù)是要確保安裝了libphp才行哦【沒(méi)安裝的 brew install linpng 就可】 ./configure --with-png=yes make sudo make install
測(cè)試一下了
在之前下載的xhprof文件夾里面,找到xhprof_html,xhprof_lib、sample三個(gè)文件夾,那這三個(gè)文件夾放到你可以訪問(wèn)到得地方去,然后通過(guò)連接先訪問(wèn)以下http://xxxx/sample/sample.php,在訪問(wèn)以下http://xxxx/xhprof_html/,就會(huì)看到有一條記錄,點(diǎn)擊后就可以看到分析結(jié)果頁(yè)面,通過(guò)點(diǎn)擊 View Full CallGraph鏈接到圖形報(bào)表的頁(yè)面。
如何使用
假設(shè)你現(xiàn)在要看看看自己做的一個(gè)網(wǎng)站的首頁(yè)性能數(shù)據(jù),那么你要找到這個(gè)網(wǎng)站的首頁(yè)入口文件,在核心文件加載之前和之后分別加上xhprof的性能測(cè)試代碼
#開(kāi)啟,具體參數(shù)說(shuō)明可以查看官方文檔 xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY); #核心文件的執(zhí)行 ... require 'index.php' ... #關(guān)閉 $xhprof_data = xhprof_disable(); #這里的路徑根據(jù)自己的站點(diǎn)來(lái)配置 $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"); #這里打印出本次測(cè)試的id,方便到報(bào)表列表頁(yè)面【http://xxxx/xhprof_html/】去通過(guò)對(duì)應(yīng)的id找到對(duì)應(yīng)的結(jié)果 var_dump($run_id);
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP擴(kuò)展開(kāi)發(fā)教程》、《php緩存技術(shù)總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP基本語(yǔ)法入門教程》、《PHP數(shù)組(Array)操作技巧大全》及《php字符串(string)用法總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP操作MongoDB GridFS 存儲(chǔ)文件的詳解
本篇文章是對(duì)PHP操作MongoDB GridFS存儲(chǔ)文件進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php獲取字符串中各個(gè)字符出現(xiàn)次數(shù)的方法
這篇文章主要介紹了php獲取字符串中各個(gè)字符出現(xiàn)次數(shù)的方法,實(shí)例分析了php獲取字符串中字符出現(xiàn)次數(shù)的三種常見(jiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
PHP操作SQL Server數(shù)據(jù)庫(kù)實(shí)現(xiàn)表的改查與統(tǒng)計(jì)
這篇文章主要介紹了如何利用PHP對(duì)MS SQL Server數(shù)據(jù)表的查詢、統(tǒng)計(jì)與修改,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-03-03
學(xué)習(xí)php設(shè)計(jì)模式 php實(shí)現(xiàn)觀察者模式(Observer)
這篇文章主要介紹了php設(shè)計(jì)模式中的觀察者模式,使用php實(shí)現(xiàn)觀察者模式,感興趣的小伙伴們可以參考一下2015-12-12
php實(shí)現(xiàn)多維數(shù)組排序的方法示例
這篇文章主要介紹了php實(shí)現(xiàn)多維數(shù)組排序的方法,結(jié)合實(shí)例形式分析了php針對(duì)多維數(shù)組的排序操作相關(guān)技巧,需要的朋友可以參考下2017-03-03
php中10個(gè)不同等級(jí)壓縮優(yōu)化圖片操作示例
這篇文章主要介紹了php中10個(gè)不同等級(jí)壓縮優(yōu)化圖片操作方法,結(jié)合實(shí)例形式分析了php中imagepng函數(shù)進(jìn)行圖片壓縮操作過(guò)程中不同壓縮等級(jí)的使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-11-11

