PHP性能分析工具XHProf安装使用教程

 更新时间:2015年05月13日 09:40:55   投稿:junjie  
这篇文章主要介绍了PHP性能分析工具XHProf安装使用教程,本文给出详细安装步骤和配置方法以及使用实例,需要的朋友可以参考下

HProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile。基于浏览

器的性能分析用户界面能更容易查看,或是与同行们分享成果。也能绘制调用关系图。在数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序。

它独有的数据计算的报告/后处理阶段。在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开死循环。

XHProf的轻量级性质和汇聚功能,使得它非常适合用于收集“生产环境”的性能统计数据的统计。

1. 安装XHProf

复制代码 代码如下:

wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxf xhprof-0.9.2.tgz
cd xhprof-0.9.2
cp -r xhprof_html xhprof_lib <directory_for_htdocs>
cd extension
phpize
./configure
make
make install

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.
; 记得<directory_for_storing_xhprof_runs>WEB要有写入权限
xhprof.output_dir=<directory_for_storing_xhprof_runs>

重启服务让修改生效,现在就可以使用XHProf了,不过为了显示效果更炫,最好继续安装Graphviz。

3. 安装Graphviz

复制代码 代码如下:

wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.26.3.tar.gz  
tar zxf graphviz-2.26.3.tar.gz   
cd graphviz-2.26.3  
./configure
make   
make install

安装完成后,会生成/usr/local/bin/dot文件,你应该确保路径在PATH环境变量里,以便XHProf能找到它。

4. 应用XHProf

复制代码 代码如下:

xhprof_enable();//打开xhprof

/******程序逻辑 Start******/
function test1(){
 sleep(3);
 return;
}
function test2(){
 test1();
}
function test3(){
 test2();
}
function p(){
 echo '<h3>xhprof test</h3>';
}
p();
test3();
/******程序逻辑 End******/

$xhprof_data = xhprof_disable();//关闭xhprof

//保存xhprof数据
include_once '../xhprof_lib/utils/xhprof_lib.php';
include_once '../xhprof_lib/utils/xhprof_runs.php';

$xhprof_runs = new XHProfRuns_Default();
$xhprof_source = 'xhprof_test';
$run_id = $xhprof_runs->save_run($xhprof_data, $xhprof_source);
$report_url = 'http://xhprof.rebill.info/index.php?run='.$run_id.'&source='.$xhprof_source;
echo '<br>';
echo 'view the performance report:<a href="'.$report_url.'" target="_blank">'.$report_url.'</a>';

如此一来,会在上面设定的xhprof.output_dir目录里生成名字类似4c236583ef490.xhprof_test的数据文件,可以很方便的通过Web方式浏览效果:
http://xhprof.rebill.info/index.php?run=4c236583ef490&source=xhprof_test

目前显示的是表格形式的显示,点击页面上的[View Full Callgraph],就能看到精美的图片显示了。

在线测试体验地址:http://xhprof.rebill.info/test.php

相关文章

  • PHP和Mysql中转UTF8编码问题汇总

    PHP和Mysql中转UTF8编码问题汇总

    这篇文章主要总结了PHP页面和Mysql数据库的转UTF8编码问题,需要的朋友可以参考下
    2015-10-10
  • PHP使用反向Ajax技术实现在线客服系统详解

    PHP使用反向Ajax技术实现在线客服系统详解

    这篇文章主要介绍了PHP使用反向Ajax技术实现在线客服系统,简单描述了反向ajax的概念、原理及使用反向ajax实现在线客服的相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • PHP使用socket发送HTTP请求的方法

    PHP使用socket发送HTTP请求的方法

    这篇文章主要介绍了PHP使用socket发送HTTP请求的方法,结合实例形式分析了PHP使用socket发送http请求的常用技巧,需要的朋友可以参考下
    2016-02-02
  • 浅析php中jsonp的跨域实例

    浅析php中jsonp的跨域实例

    本篇文章是对php中jsonp的跨域实例进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php 显示指定路径下的图片

    php 显示指定路径下的图片

    给一个路径,得到她下面的图片,并显示出来的php代码。
    2009-10-10
  • php从数组中随机抽取一些元素的代码

    php从数组中随机抽取一些元素的代码

    php从数组中随机抽取一些元素的代码,需要的朋友可以参考下
    2012-11-11
  • jQuery获取json后使用zy_tmpl生成下拉菜单

    jQuery获取json后使用zy_tmpl生成下拉菜单

    这篇文章主要介绍了我开发过程中使用jQuery获取json后使用zy_tmpl生成下拉菜单的实例,虽然是第一次写关于AppCan开发的内容,有需要的小伙伴可以参考下。
    2015-03-03
  • PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍

    PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍

    这篇文章主要介绍了PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍,这个漏洞很久之前(大概5年前)被提出来了,到现在的最新版本中依然存在,需要的朋友可以参考下
    2015-01-01
  • PHP程序员编程注意事项

    PHP程序员编程注意事项

    PHP程序员最易犯10种错误所以下面的好多都是我们需要注意的地方PHP是个伟大的web开发语言,灵活的语言,但是看到php程序员周而复始的犯的一些错误。我做了下面这个列表,列出了PHP程序员经常犯的10中错误,大多数和安全相关。看看你犯了几种
    2008-04-04
  • php设计模式之委托模式

    php设计模式之委托模式

    这篇文章主要为大家详细介绍了php设计模式之委托模式,以一个实例为大家介绍了php委托模式,感兴趣的朋友可以参考一下
    2016-02-02

最新评论