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在内存使用最高峰时,所使用内存的改变
)



