xhprof安裝&&使用


2010年的時候有做過相關的東西,為ECOS框架寫了一個相關的APP應用,前段時候要用xhprof來測試一下ECAE上的php的運行效率又重新要安裝xhprof

本日志記錄下相關的過程,以便以后再次使用到

編譯安裝

wget http://pecl.php.net/get/xhprof-0.9.2.tgz

tar zxf xhprof-0.9.2.tgz

cd xhprof-0.9.2/extension/

sudo phpize
./configure --with-php-config=/usr/local/php/bin/php-config
sudo make
sudo make install

配置 php.ini

在php.ini里加入

[xhprof]
extension=xhprof.so;
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
;
;xhprof.output_dir=<directory_for_storing_xhprof_runs>
xhprof.output_dir=/tmp/xhprof

注:如果是64位系統需要將xhprof.so文件拷貝到相關的lib64的目錄下

 

將代碼加入到要測試的php當中

 1 <?pho
 2 // cpu:XHPROF_FLAGS_CPU 內存:XHPROF_FLAGS_MEMORY
 3 // 如果兩個一起:XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY 
 4 xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
 5 
 6 // 要測試的php代碼
 7 
 8 
 9 $data = xhprof_disable();   //返回運行數據
10  
11 // xhprof_lib在下載的包里存在這個目錄,記得將目錄包含到運行的php代碼中
12 include_once "xhprof_lib/utils/xhprof_lib.php";  
13 include_once "xhprof_lib/utils/xhprof_runs.php";  
14  
15 $objXhprofRun = new XHProfRuns_Default(); 
16 
17 // 第一個參數j是xhprof_disable()函數返回的運行信息
18 // 第二個參數是自定義的命名空間字符串(任意字符串),
19 // 返回運行ID,用這個ID查看相關的運行結果
20 $run_id = $objXhprofRun->save_run($data, "xhprof");
21 var_dump($run_id);

 

查看運行結果

將xhprof_lib&&xhprof_html相關目錄copy到可以訪問到的地址
訪問 xxx/xhprof_html/index.php?run=$run_id&source=bluefrog 就可經看到你的php代碼運行的相關情況

下面是一些參數說明
Inclusive Time                 包括子函數所有執行時間。
Exclusive Time/Self Time  函數執行本身花費的時間,不包括子樹執行時間。
Wall Time                        花去了的時間或掛鍾時間。
CPU Time                        用戶耗的時間+內核耗的時間
Inclusive CPU                  包括子函數一起所占用的CPU
Exclusive CPU                  函數自身所占用的CPU

注: 需要使用ctype這個擴展

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM