91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php性能分析工具xhprof的安裝使用

發布時間:2020-07-02 06:22:08 來源:網絡 閱讀:415 作者:chapterlin 欄目:web開發

早就聽說了xhprof這款由facebook開源的php性能分析工具了,只是一直沒有使用過,因為工作中從來沒有對代碼進行過性能分析.目前項目的代碼中集成了xhprof,所以最近抽空下載,安裝試用了下.特此記錄.


要想讓xhprof能夠正常運行,需要安裝以下擴展.

1,libpng提供給graphviz試用,yum自帶

2.graphviz,xhprof需要用它繪圖,需要自己下載 wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz

3.xhprof


在編譯安裝xhprof過程中,出現了error 1的bug,導致make錯誤.安裝失敗

最后更換了xhprof的版本才通過


xhprof文件中有兩個重要的文件目錄:

1,xhprof_html,這個目錄中有個docs目錄,里面有關于xhprof的文檔.另外xhprof的分析結果文件需要使用xhprof_html中的index.php文件進行結果顯示

2,xhprof_lib,這個目錄就是代碼中需要引入的文件

這兩個目錄都要放到站點下面.xhprof_html可以放到單獨的站點下,這樣就可以通過獨立的域名查看分析結果

3.examples,這個目錄下的sample.php是個測試文件


編譯安裝xhprof之后需要在php.ini中對此擴展進行設置

extension=xhprof.so

xhprof.output_dir=/www/logs/xhprof ,這里指定xhprof生成的分析結果文件,此目錄要實現建立,并需要有寫權限


編寫測試代碼:

<?php
function bar($x) {
  if ($x > 0) {
    bar($x - 1);
  }
}
function foo() {
  for ($idx = 0; $idx < 2; $idx++) {
    bar($idx);
    $x = strlen("abc");
  }
}
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);   //代碼的開頭指定
//xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); 不記錄內置的函數  
//xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);  同時分析CPU和Mem的開銷  
foo();  //需要測試的代碼
 
$xhprof_data = xhprof_disable();  
include_once "xhprof_lib/utils/xhprof_lib.php";   
include_once "xhprof_lib/utils/xhprof_runs.php";   
$xhprof_runs = new XHProfRuns_Default();   
$run_id = $xhprof_runs->save_run($xhprof_data, "hx"); //$run_id.hx.xhprof就是生成的分析結果文件,寫入到xhprof.output_dir目錄中,'hx'在文檔中稱為namespace   
$url = $xhprof_root."/xhprof_html/index.php?run=$run_id&source=hx"; //$xhprof_root就是訪問xhprof_html的域名
echo ''.$url.'';


在瀏覽器中打開此$url就能看到分析結果了

php性能分析工具xhprof的安裝使用


Function Name 函數名  

Calls 調用次數  

Calls% 調用百分比  

Incl. Wall Time (microsec) 調用的包括子函數所有花費時間 以微秒算(一百萬分之一秒)  

IWall% 調用的包括子函數所有花費時間的百分比  

Excl. Wall Time (microsec) 函數執行本身花費的時間,不包括子樹執行時間,以微秒算(一百萬分之一秒)  

EWall% 函數執行本身花費的時間的百分比,不包括子樹執行時間  

Incl. CPU(microsecs) 調用的包括子函數所有花費的cpu時間。減Incl. Wall Time即為等待cpu的時間  

減Excl. Wall Time即為等待cpu的時間  

ICpu% Incl. CPU(microsecs)的百分比  

Excl. CPU(microsec) 函數執行本身花費的cpu時間,不包括子樹執行時間,以微秒算(一百萬分之一秒)。  

ECPU% Excl. CPU(microsec)的百分比  

Incl.MemUse(bytes) 包括子函數執行使用的內存。  

IMemUse% Incl.MemUse(bytes)的百分比  

Excl.MemUse(bytes) 函數執行本身內存,以字節算  

EMemUse% Excl.MemUse(bytes)的百分比  

Incl.PeakMemUse(bytes) Incl.MemUse的峰值  

IPeakMemUse% Incl.PeakMemUse(bytes) 的峰值百分比  

Excl.PeakMemUse(bytes) Excl.MemUse的峰值  

EPeakMemUse% EMemUse% 峰值百分比  


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江西省| 收藏| 容城县| 哈密市| 淮滨县| 大关县| 蚌埠市| 上饶县| 汤阴县| 灌云县| 泰来县| 游戏| 紫云| 龙陵县| 宁都县| 洛浦县| 武宣县| 滨海县| 都江堰市| 孟津县| 巴马| 南川市| 林口县| 水富县| 南通市| 武城县| 龙胜| 嵊泗县| 合川市| 区。| 莱芜市| 安龙县| 惠水县| 白银市| 北票市| 枝江市| 东安县| 通城县| 金华市| 康保县| 韩城市|