制作一个自己的xhprof测试平台
2016-12-29 18:34
381 查看
制作一个自己的xhprof测试平台
1、首先安装php开发环境,比如lnmp。
2、安装xhprof,记住从github上面下载(https://github.com/phacility/xhprof),不要从pecl.php.net站点下载,可能不支持高版本(比如本人使用的php5.4)。
安装步骤:
1 解压文件
2 cd extension
3 /usr/local/php/bin/phpize
4 ./configure--with-php-config=/usr/local/php/bin/php-config --enable-xhprof
5 make
6 make install
7 cd /usr/local/php/etc
8 vim php.ini 在其中添加
extension=xhprof.so
xhprof.output_dir="/www/xhprof/tmp" //注意创建此目录
重启lnmp后,查看phpinfo输出信息。查看到xhprof相关信息即代表成功。
3、搭建一个站点,我将代码放在/www/xhprof目录下,拷贝刚才下载到xhprof安装包中的xhprof_html和xhprof_lib 2个目录。
创建测试php文件(见代码xhprof_html/test.php)
4、安装扩展使其支持图形化
yum-y install dot*
yuminstall graphviz
5、修改php.ini配置文件,将disable_functions中proc_open删除。
6、修改php中auto_prepend_file和auto_append_file这2个配置(以下2个文件参见代码)
auto_prepend_file=/www/xhprof/xhprof_html/header.php
auto_append_file=/www/xhprof/xhprof_html/footer.php
7、修改open_basedir的值,指向/www/xhprof。
8、至此该服务器下所有站点都可以产生xphrof相关信息了。
【header.php】
<?php
if (extension_loaded('xhprof')) {
include_once '/www/xhprof/xhprof_lib/utils/xhprof_lib.php';
include_once '/www/xhprof/xhprof_lib/utils/xhprof_runs.php';
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
}
?>
【footer.php】
<?php
if (extension_loaded('xhprof')) {
$profiler_namespace = 'xhprof_foo';
$xhprof_data= xhprof_disable();
$xhprof_runs= new XHProfRuns_Default();
$run_id= $xhprof_runs->save_run($xhprof_data, $profiler_namespace);
echo""."<a target=\" _blank\=\"\"href=\"http://www.xhprof.dev/xhprof_html/index.php?run=" . $run_id ."&source=" .$profiler_namespace. "\">TableView" . "</a>";
echo" ";
echo""."<a target=\" _blank\=\"\"href=\"http://www.xhprof.dev/xhprof_html/callgraph.php?run=" .$run_id . "&source=" .$profiler_namespace. "\">PhotoView" . "</a>";
}
?>
【test.php】
<?php
//同时分析CPU和Mem的开销
xhprof_enable(XHPROF_FLAGS_CPU +XHPROF_FLAGS_MEMORY);
//要测试的代码 开始
for($i=0;$i<10000;$i++){
strtoupper(substr(md5(md5(mt_rand())),1,20));
echo$i.'<br />';
}
//结束测试代码
$xhprof_data = xhprof_disable();
$XHPROF_ROOT = '/www/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_foo");
echo ""."<atarget=\" _blank\=\"\"href=\"http://www.xhprof.dev/xhprof_html/index.php?run=" . $run_id ."&source=xhprof_foo\">XHProf" . "</a>";
1、首先安装php开发环境,比如lnmp。
2、安装xhprof,记住从github上面下载(https://github.com/phacility/xhprof),不要从pecl.php.net站点下载,可能不支持高版本(比如本人使用的php5.4)。
安装步骤:
1 解压文件
2 cd extension
3 /usr/local/php/bin/phpize
4 ./configure--with-php-config=/usr/local/php/bin/php-config --enable-xhprof
5 make
6 make install
7 cd /usr/local/php/etc
8 vim php.ini 在其中添加
extension=xhprof.so
xhprof.output_dir="/www/xhprof/tmp" //注意创建此目录
重启lnmp后,查看phpinfo输出信息。查看到xhprof相关信息即代表成功。
3、搭建一个站点,我将代码放在/www/xhprof目录下,拷贝刚才下载到xhprof安装包中的xhprof_html和xhprof_lib 2个目录。
创建测试php文件(见代码xhprof_html/test.php)
4、安装扩展使其支持图形化
yum-y install dot*
yuminstall graphviz
5、修改php.ini配置文件,将disable_functions中proc_open删除。
6、修改php中auto_prepend_file和auto_append_file这2个配置(以下2个文件参见代码)
auto_prepend_file=/www/xhprof/xhprof_html/header.php
auto_append_file=/www/xhprof/xhprof_html/footer.php
7、修改open_basedir的值,指向/www/xhprof。
8、至此该服务器下所有站点都可以产生xphrof相关信息了。
【header.php】
<?php
if (extension_loaded('xhprof')) {
include_once '/www/xhprof/xhprof_lib/utils/xhprof_lib.php';
include_once '/www/xhprof/xhprof_lib/utils/xhprof_runs.php';
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
}
?>
【footer.php】
<?php
if (extension_loaded('xhprof')) {
$profiler_namespace = 'xhprof_foo';
$xhprof_data= xhprof_disable();
$xhprof_runs= new XHProfRuns_Default();
$run_id= $xhprof_runs->save_run($xhprof_data, $profiler_namespace);
echo""."<a target=\" _blank\=\"\"href=\"http://www.xhprof.dev/xhprof_html/index.php?run=" . $run_id ."&source=" .$profiler_namespace. "\">TableView" . "</a>";
echo" ";
echo""."<a target=\" _blank\=\"\"href=\"http://www.xhprof.dev/xhprof_html/callgraph.php?run=" .$run_id . "&source=" .$profiler_namespace. "\">PhotoView" . "</a>";
}
?>
【test.php】
<?php
//同时分析CPU和Mem的开销
xhprof_enable(XHPROF_FLAGS_CPU +XHPROF_FLAGS_MEMORY);
//要测试的代码 开始
for($i=0;$i<10000;$i++){
strtoupper(substr(md5(md5(mt_rand())),1,20));
echo$i.'<br />';
}
//结束测试代码
$xhprof_data = xhprof_disable();
$XHPROF_ROOT = '/www/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_foo");
echo ""."<atarget=\" _blank\=\"\"href=\"http://www.xhprof.dev/xhprof_html/index.php?run=" . $run_id ."&source=xhprof_foo\">XHProf" . "</a>";
相关文章推荐
- 一个自己测试通过的发邮件操作
- 自己制作的一个进度条
- 一个简单的2选1数据选择器的测试平台(Testbench)
- 超级简单:一个超轻量级的测试平台
- 一个好的测试管理平台应该有哪些功能?
- 自己写的一个测试函数执行效率的单元(test on Delphi 7)
- BCB平台下,自己写的一个截取字符串的函数
- 清华计算机系研究生考试上机07年试题解答(自己今天上午做的,有一个不能完成所有测试用例~)
- LINUX平台中判断Machine是64位的还是32位的(通过Linux命令,而非自己写测试程序)
- 【报表】一个在自己本机测试运行通过的RS脚本
- 一个自己测试通过的操作EXCEL
- 一个有意思的测试,看看什么样的Linux发行版最适合自己!我的测试结果是:Debian !
- 一个有意思的测试,看看什么样的Linux发行版最适合自己!我的测试结果是:Debian !
- 自己录的ASP.NET MVC制作一个视频站点的视频
- 制作可执行的JAR文件(适用于各种平台,在UNIX上测试通过)
- 非要自己开发一个测试工具不可?
- 模仿sp_executesql,制作一个自己的executesql脚本
- [知识竞赛策划方案][图]何用PPT制作知识竞赛所需要的题库?作为一个普通的单位,由于不具备电视台专用的比赛平台,如果要搞一场极致专业的知识竞赛?同时花钱最少?
- Linux平台下从零开始写一个C语言访问MySQL的测试程序