PHP7下安裝并使用xhprof性能分析工具
該 xhprof 版本是從 https://github.com/longxinH/xhprof 獲取
安裝 xhprofcd xhprof/extension/
phpize
./configure
make
然后在/etc/php.ini中根據(jù)情況加入
extension=xhprof.so
執(zhí)行
php -m | grep xhprof
可以看見輸出,說明php擴展安裝成功,然后重啟Apache或者php-fpm
運行可以直接運行從github上clone下來的文件里面example目錄下的那個例子
輸出如下
Array
(
[main()] => Array
(
[ct] => 1
[wt] => 9
)
)
---------------
Assuming you have set up the http based UI for
XHProf at some address, you can view run at
http://<xhprof-ui-address>/index.php?run=592567308784c&source=xhprof_foo
然后復(fù)制index.php后面的?run=592567308784c&source=xhprof_foo
訪問
xhprof_html/index.php?run=592567308784c&source=xhprof_foo
可看見輸出
點擊中間的 View Full Callgraph 即可看見性能分析圖片
報錯failed to execute cmd:' dot -Tpng'. stderr:sh: dot:command not found。
//解決方案yum install graphviz
隨機應(yīng)變比如想測試自己的項目,例如一款框架的性能分析。
復(fù)制xhprof_lib/utils/下的兩個文件
xhprof_lib.php和xhprof_runs.php到入口文件同級目錄,然后在入口文件起始位置添加
// start profilingxhprof_enable();
結(jié)束位置添加
// stop profiler$xhprof_data = xhprof_disable();// display raw xhprof data for the profiler runprint_r($xhprof_data);include_once 'xhprof_lib.php';include_once 'xhprof_runs.php';// save raw data for this profiler run using default// implementation of iXHProfRuns.$xhprof_runs = new XHProfRuns_Default();// save the run under a namespace 'xhprof_foo'$run_id = $xhprof_runs->save_run($xhprof_data, 'xhprof_foo');echo '---------------n'. 'Assuming you have set up the http based UI for n'. 'XHProf at some address, you can view run at n'. 'http://<xhprof-ui-address>/index.php?run=$run_id&source=xhprof_foon'. '---------------n';
即可得到如上所示的那個url,然后再次去訪問
http://***/xhprof_html/index.php?run=*****&source=xhprof_foo
得到如下所示頁面
查看圖片
圖中紅色的部分為性能比較低,耗時比較長的部分,我們可以根據(jù)根據(jù)哪些函數(shù)被標(biāo)記為紅色對系統(tǒng)的代碼進行優(yōu)化
補充Function Name:方法名稱。
Calls:方法被調(diào)用的次數(shù)。
Calls%:方法調(diào)用次數(shù)在同級方法總數(shù)調(diào)用次數(shù)中所占的百分比。
Incl.Wall Time(microsec):方法執(zhí)行花費的時間,包括子方法的執(zhí)行時間。(單位:微秒)
IWall%:方法執(zhí)行花費的時間百分比。
Excl. Wall Time(microsec):方法本身執(zhí)行花費的時間,不包括子方法的執(zhí)行時間。(單位:微秒)
EWall%:方法本身執(zhí)行花費的時間百分比。
Incl. CPU(microsecs):方法執(zhí)行花費的CPU時間,包括子方法的執(zhí)行時間。(單位:微秒)
ICpu%:方法執(zhí)行花費的CPU時間百分比。
Excl. CPU(microsec):方法本身執(zhí)行花費的CPU時間,不包括子方法的執(zhí)行時間。(單位:微秒)
ECPU%:方法本身執(zhí)行花費的CPU時間百分比。
Incl.MemUse(bytes):方法執(zhí)行占用的內(nèi)存,包括子方法執(zhí)行占用的內(nèi)存。(單位:字節(jié))
IMemUse%:方法執(zhí)行占用的內(nèi)存百分比。
Excl.MemUse(bytes):方法本身執(zhí)行占用的內(nèi)存,不包括子方法執(zhí)行占用的內(nèi)存。(單位:字節(jié))
EMemUse%:方法本身執(zhí)行占用的內(nèi)存百分比。
Incl.PeakMemUse(bytes):Incl.MemUse峰值。(單位:字節(jié))
IPeakMemUse%:Incl.MemUse峰值百分比。
Excl.PeakMemUse(bytes):Excl.MemUse峰值。單位:(字節(jié))
EPeakMemUse%:Excl.MemUse峰值百分比。
以上就是PHP7下安裝并使用xhprof性能分析工具的詳細內(nèi)容,更多關(guān)于PHP7下安裝并使用xhprof的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. php使用正則驗證密碼字段的復(fù)雜強度原理詳細講解 原創(chuàng)2. XML在語音合成中的應(yīng)用3. Jsp+Servlet實現(xiàn)文件上傳下載 文件列表展示(二)4. 基于javaweb+jsp實現(xiàn)企業(yè)車輛管理系統(tǒng)5. 基于PHP做個圖片防盜鏈6. asp.net core 認證和授權(quán)實例詳解7. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫金額)的函數(shù)8. Jsp servlet驗證碼工具類分享9. ASP.NET MVC使用Boostrap實現(xiàn)產(chǎn)品展示、查詢、排序、分頁10. jscript與vbscript 操作XML元素屬性的代碼
