您的位置首页百科问答

PHP安装XHProf扩展与测试

PHP安装XHProf扩展与测试

的有关信息介绍如下:

PHP安装XHProf扩展与测试

PHP安装XHProf扩展与测试

第一步:了解XHProf是什么?

XHProf简单的说就是一个提供分层PHP性能分析的一种工具。

详细报告函数请求的次数、CPU耗费时间、内存使用的情况以及其他数据的分析

能够详细分析函数的调用与被调用的详细数据信息,并且进行数据收集。

最独有的功能就是能计算数据报告阶段的信息。

能够有效的避免死循环。

是一款基于浏览器的工具。操作简单

第二步:PHP安装XHProf扩展模块

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

tar zxvf xhprof-0.9.2.tgz

cp ./xhprof-0.9.2.tgz ./www //因为xhprof自身带有一个web版的分析页面,建议放在WEB服务器下

cd xhprof-0.9.2/extension

/usr/local/php/bin/phpize

./configure --enable-xhprof --with-php-config=/usr/local/php/bin/php-config

make && make install

第三步:PHP配置XHProf扩展模块

打开你的php.ini文件

最后一行写一下信息:

[xhprof]

extension=xhprof.so

xhprof.output_dir=/home/zhangy/xhprof //此处的目录一定要对应

第四步:PHP环境测试XHProf

因为XHProf自身带有一个web版的测试工具,这里进行一个小的测试

function aaa($bl) {

if ($bl > 0) {

aaa($bl -1);

}

}

function foo() {

for ($id = 0; $id < 10; $idx++) {

aaa($id);

$bl = strlen("abc");

}

}

//PHP启动XHProf

xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

//PHP调用foo函数,也是我们要分析的函数

foo();

//PHP停止XHProf

$blhprof_data = xhprof_disable();

//PHP取得XHProf统计数据

print_r($blhprof_data);

$blHPROF_ROOT = realpath(dirname(__FILE__) . '/..');

include_once $blHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";

include_once $blHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

//PHP保存统计数据,生成统计ID和source名称

$blhprof_runs = new XHProfRuns_Default();

$pid = $blhprof_runs->save_run($blhprof_data, "xhprof_foo"); //source名称是xhprof_foo

//PHP弹出一个统计窗口,查看统计信息

echo "";

?>

输出结果:

[foo==>aaa] => Array

(

[ct] => 10 //aaa()这个函数被调用了5次

[wt] => 83 //每次运行aaa()所要的时间,不知道这个是不是平均值

[cpu] => 0 //每次运行aaa(),cpu运算时间

[mu] => 3260 //每次运行aaa(),php所使用内存的改变

[pmu] => 0 //每次运行aaa(),php在内存使用最高峰时,所使用内存的改变

)