編程學習網 > 服務器 > Linux > Linux 下安裝PHP性能分析工具 xhprof 筆記
2014
11-11

Linux 下安裝PHP性能分析工具 xhprof 筆記

為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當中

<?pho
// cpu:XHPROF_FLAGS_CPU 內存:XHPROF_FLAGS_MEMORY
// 如果兩個一起:XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

// 要測試的php代碼
$data = xhprof_disable(); //返回運行數據

// xhprof_lib在下載的包里存在這個目錄,記得將目錄包含到運行的php代碼中
include_once "xhprof_lib/utils/xhprof_lib.php";
include_once "xhprof_lib/utils/xhprof_runs.php";

$objXhprofRun = new XHProfRuns_Default();

// 第一個參數j是xhprof_disable()函數返回的運行信息
// 第二個參數是自定義的命名空間字符串(任意字符串),
// 返回運行ID,用這個ID查看相關的運行結果
$run_id = $objXhprofRun->save_run($data, "xhprof");
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這個擴展

掃碼二維碼 獲取免費視頻學習資料

Python編程學習

查 看2022高級編程視頻教程免費獲取