安装Xhprof测试性能

额,经人提醒才发现原来SAE在4月份已经取消了每个月对开发者赠送的10000个云豆,导致我一直将博客挂在sae上一个月消耗1000个豆子,现在只剩下4000多。⊙﹏⊙于是昨晚赶紧把博客搬家到VPS上,以后再折腾起来就得先备份了。
前阵子玩了一下Xhprof来试着测试下陈旭的性能,今天来做个记录,顺便待会儿再写一篇关于《PHP开启Opcache性能对比》的。正好可以相互验证。
开始安装

[python]
mkdir xhprof;cd xhprof#新建一个目录,下载xhprof并进行安装
wget http://pecl.php.net/get/xhprof-0.9.2.tgz #下载
tar zxvf xhprof-0.9.2.tgz
cd xhprof-0.9.2
[/python]

在web目录中新建一个目录,存放xhprof的一些类等各种文件
移动xhprof_html、xhprof_lib这两个文件夹到web目录的xhprof目录,
lib是用来被程序调用的library,html是用来显示测试结果的一些前端内容

[python]
mkdir /home/wwwroot/xhprof
mv xhprof_html xhprof_lib /home/wwwroot/xhprof
[/python]

在php.ini中开启disable_functions、exec、system、poct_open这几个函数
进入extension这个目录来进行安装php扩展,
一定要进入这个目录,
一定要进入这个目录,
一定要进入这个目录
一定要在有相关扩展包的文件夹中运行phize,否则会报错,报错内容
php的安装位置不一样时,这里的代码也不一样,我的是安装在/usr/local/php中。

[python]
cd extension
/usr/local/php/bin/phpize
[/python]

开始安装,要注意php的安装位置不一样时,得修改下面的命令

[python]
./configure –with-php-config=/usr/local/php/bin/php-config
make
make install
[/python]

到这里,正常情况下,就安装完了!!!
但是,我的一直在报错,我用make test命令测试make,一直报错。
比如,未开启proc_open()、system()等等函数,这些都好解决,
但是有一条call_user_func()这个一直过不去,make test会在最后有错误的情况下,提示你直接给php.net发邮件,于是我发了几条。

后来没自己编译了。直接用pecl安装,pecl安装其实最简单了。

[python]
pecl install xhprof-0.9.2
#成功后会有下面提示
#Build process completed successfully
#Installing ”
[/python]

一条命令搞定,值得注意的是,
pecl命令会在php.ini中自动加上
extension=xhprof.so
但是我们安装后下载的xhprof.so不一定在存放扩展的目录,比如我的就存放在

/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
所以我们需要移动xhprof至存放扩展的目录,或者修改php.ini

[python]
vim php.ini
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xhprof.so
[/python]

xhprof提供图形查看运行情况,
我们可能要再安装一下一个绘图工具

[python]
yum install -y graphviz
[/python]

开始测试
前面已经说过,要吧xhprof_html、xhprof_lib放到web目录中,
下面在php中加入测试代码
我的博客用的是wordpress
我就直接在入口文件index.php开头结尾加入测代码就行了

[php]
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
define(‘WP_USE_THEMES’, true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );

$xhprof_data = xhprof_disable();

$XHPROF_ROOT = "./xhprof";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing");
echo "<a href=’http://aoxiang.me/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing’>View Xhprof</a>";
[/php]

打开首页,会有个链接,用来查看测试结果
有兴趣的可以直接看我现在的测试结果
http://aoxiang.me/xhprof/xhprof_html/index.php?run=561c6fa385c83&source=xhprof_testing

Over~

“安装Xhprof测试性能”的3个回复

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据