Home >Backend Development >PHP Tutorial > Xhprof php性能测试用具用法小结
Xhprof php性能测试工具用法小结
Xhprof 是facebook推出的轻量级的php性能分析工具,和Xdebug相比,XHProf更加易用和可控,尤其是生成流程图和调试数据对比的功能很好很强大。 下面简单介绍下Xhprof的安装及使用。
1、安装
可以从页面 下载相应版本及了解各个版本依赖条件。 安装前,先假设php的bin目录是:/usr/local/php/bin
[root@localhost extension]# ln -s /usr/local/php/bin/phpize /usr/bin/phpize [root@localhost tool]# wget http://pecl.php.net/get/xhprof-0.9.2.tgz [root@localhost tool]# tar -zxvf xhprof-0.9.2.tgz [root@localhost tool]# cd xhprof-0.9.2/extension/ [root@localhost tool]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@localhost tool]# make [root@localhost tool]# make install
通过上面的操作,如果运气不是非常糟糕的话,你应该看到类似这样的提示:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
进入到php扩展库目录/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ ,你将看到xhprof.so 共享库文件。
2、配置
在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
重启下php,就可以在使用xhprof了。
3、拷贝文件
把xhprof-0.9.2目录下的目录xhprof_html 和 xhprof_lib 下的所有文件拷贝到你网站的主目录下,假设网站主目录:/opt/wordpress
[root@localhost xhprof-0.9.2]# cp -R xhprof_* /opt/wordpress
4、使用
参考下面的解释说明:
<?php //cpu: XHPROF_FLAGS_CPU //内存: XHPROF_FLAGS_MEMORY //如果都监控用XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); //需要性能分析的php代码 //define('WP_USE_THEMES', true); //require('./wp-blog-header.php'); //停止性能分析 $data = xhprof_disable(); //显示性能分析数据 include_once "xhprof_lib/utils/xhprof_lib.php"; include_once "xhprof_lib/utils/xhprof_runs.php"; $objXhprofRun = new XHProfRuns_Default(); //第一个参数 是xhprof_disable()的返回值 //第二个参数 是自定义命名空间字符串 //返回运行id,用这个id查看相关运行结果 $run_id = $objXhprofRun->save_run($data, "xhprof"); //查看运行结果的url //run的值来源于save_run的返回值 //source值来源于save_run的第二个参数 //www.abc.com 需要用自己的域名替换 echo "http://www.abc.com/xhprof_html/index.php?run=".$run_id."&source=xhprof";
在浏览器中打开输出的url,及可看到相关的性能信息。