php性能分析工具 - xhprof的安装使用

一、前言

  有用的东西还是记录下来吧,也方便以后的查询;这次记录一下xhprof的安装使用;

  xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,

  还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。

二、安装

1.    wget http://pecl.php.net/get/xhprof-0.9.3.tgz  

2.    tar zxf xhprof-0.9.3.tgz  

3.    cd xhprof-0.9.3/extension

4.    /usr/bin/phpize
     (php版本安装后生成的phpize文件,可根据phpinfo查看,所以php版本不同,生成的phpize也不同,此步骤主要生成configure文件)

5.    ./configure  –with-php-config=/usr/bin/php-config
    (php-config的路径,也是php安装后生成的文件)  

6.    make  

7.    sudo make install
    (会自动将生成的扩展文件拷贝到扩展目录中/usr/lib64/php/modules)

    当然具体的php文件的目录,每个人不尽相同,可根据phpinfo查询

三、php.ini配置

1 根据phpinfo找到 extension_dir的目录
2 (/etc/php.d/xhprof.ini)
3
4 添加一下内容:
5
6 extension=xhprof.so
7 xhprof.output_dir=/tmp/xhprof //xhprof的分析日志

四、重启服务

1 sudo /etc/init.d/http restart
2
3 查看phpinfo是否安装成功

五、使用方法

 1 开头:
 2 xhprof_enable(); //开启监测
 3 //xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); 不记录内置的函数
 4 //xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);  同时分析CPU和Mem的开销
 5
 6 //要测试的代码
 7 ...
 8 ...
 9 ...
10
11 结尾:
12 $xhprof_data = xhprof_disable();  //停止监测,返回运行数据
13 $xhprof_root = ‘/(xhprof的虚拟主机目录)/‘;
14  //引入当初安装到xhprof虚拟主机目录中的文件
15 include_once $xhprof_root."xhprof_lib/utils/xhprof_lib.php";
16 include_once $xhprof_root."xhprof_lib/utils/xhprof_runs.php";
17 $xhprof_runs = new XHProfRuns_Default();
18 $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof");
19 echo ‘<a href="http://(xhprof的虚拟主机域名)/xhprof_html/index.php?run=‘.$run_id.‘&source=xhprof" target="_blank">xhprof统计</a>‘;  

  上边的代码使用了,给xhprof设置虚拟主机的方法。

  把源码包中的 xhprof_html 和 xhprof_lib 文件夹拷贝到自己建立的虚拟目录中

  cp -r xhprof_html xhprof_lib /xxx/xhprof/  (此处目的是建立数据分析目录,可将此目录配置成虚拟主机访问)

  运行后,统计点击返回的 xhprof统计 链接,即可。

六、注意问题以及名词解释

  在显示的统计页面中,点[View Full Callgraph]图形化显示(最大的性能问题会用红色标出,其次是黄色);

  点击后,可能提示错误消息,执行以下命令即可

1 yum install -y graphviz
2 yum install graphviz-gd

  名词解释

 1     Function Name 函数名
 2     Calls 调用次数
 3     Calls% 调用百分比
 4     Incl. Wall Time (microsec) 调用的包括子函数所有花费时间 以微秒算(一百万分之一秒)
 5     IWall% 调用的包括子函数所有花费时间的百分比
 6     Excl. Wall Time (microsec) 函数执行本身花费的时间,不包括子树执行时间,以微秒算(一百万分之一秒)
 7     EWall% 函数执行本身花费的时间的百分比,不包括子树执行时间
 8     Incl. CPU(microsecs) 调用的包括子函数所有花费的cpu时间。减Incl. Wall Time即为等待cpu的时间
 9     减Excl. Wall Time即为等待cpu的时间
10     ICpu% Incl. CPU(microsecs)的百分比
11     Excl. CPU(microsec) 函数执行本身花费的cpu时间,不包括子树执行时间,以微秒算(一百万分之一秒)。
12     ECPU% Excl. CPU(microsec)的百分比
13     Incl.MemUse(bytes) 包括子函数执行使用的内存。
14     IMemUse% Incl.MemUse(bytes)的百分比
15     Excl.MemUse(bytes) 函数执行本身内存,以字节算
16     EMemUse% Excl.MemUse(bytes)的百分比
17     Incl.PeakMemUse(bytes) Incl.MemUse的峰值
18     IPeakMemUse% Incl.PeakMemUse(bytes) 的峰值百分比
19     Excl.PeakMemUse(bytes) Excl.MemUse的峰值
20     EPeakMemUse% EMemUse% 峰值百分比

七、参考资料

1 http://blog.csdn.net/maitiandaozi/article/details/8896293
2 http://www.cnblogs.com/wangtao_20/archive/2011/03/16/1986508.html
3 http://www.cnblogs.com/wangtao_20/archive/2013/09/13/3320497.html
4
5 http://avnpc.com/pages/profiler-php-performance-online-by-xhprof
6 http://www.ituring.com.cn/article/133062?utm_source=tuicool
时间: 2024-10-18 19:28:13

php性能分析工具 - xhprof的安装使用的相关文章

PHP性能分析工具xhprof的安装使用与注意事项

前言 xhprof由facebook开源出来的一个PHP性能监控工具,占用资源很少,甚至能够在生产环境中进行部署. 它可以结合graphviz使用,能够以图片的形式很直观的展示代码执行耗时. 下面主要讲一下安装和使用过程 1.安装 (1)下载和解压 1 2 wget http://pecl.php.net/get/xhprof-0.9.4.tgz tar zxvf xhprof-0.9.4.tgz (2)编译和运行 1 2 3 4 5 cd xhprof-0.9.4/extension/ php

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

HProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile.基于浏览 器的性能分析用户界面能更容易查看,或是与同行们分享成果.也能绘制调用关系图.在数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序. 它独有的数据计算的报告/后处理阶段.在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开

PHP性能追踪及分析工具xhprof的安装与使用

https://segmentfault.com/a/1190000007288664(原文地址) 对于本地开发环境来说,进行性能分析xdebug是够用了,但如果是线上环境的话,xdebug消耗较大,配置也不够灵活,因此线上环境建议使用xhprof进行PHP性能追踪及分析. 我们今天就简单介绍一下xhprof的简单安装与使用 xhprof的安装 下载xhprof,我们这里选择的是通过git clone的方式,当然你也可以从 http://pecl.php.net/package/x... 这里下

windows下安装php性能分析工具XHProf

一.安装扩展 下载XHProf扩展:http://dev.freshsite.pl/php-extensions/xhprof.html 放入扩展文件:下载后解压出.dll文件,拷贝它到php的ext文件夹里面. 开启扩展:php.ini中加入下面的代码 [xhprof] extension=xhprof.dll xhprof.output_dir="F:/xhprof/xhprof_log" 二.安装php分析包 这个扩展需要一个php程序来调用. 百度网盘下载:http://pan

PHP性能分析工具:xhprof

?phpize的安装 一直想装VLD却一直没装上,因为需要用到phpize,但这个工具大部分机子都没有装,上网搜了一下大部分都是讲phpize的应用没有讲怎么安装. 今天终于搜到了,不过是要在linux机器上,有yum命令就行.phpize是属于php-devel的内容,所以只要运行 yum install php-devel就行. 来源: <http://blog.163.com/[email protected]/blog/static/696741432010626140157/> xh

xhprof 性能分析工具

1.下载的zip文件解压缩后将php_xhprof.dll 文件,直接放到php的ext目录里面 2.然后将xhprof_html 文件夹和xhprof_lib文件夹和config.php直接放到你的根目录下面 3.配置php.ini文件 将下面内容添加到php.ini文件里面 extension=php_xhprof.dll [quote] [xhprof] xhprof.output_dir="D:/xampp/htdocs/xhprof_log" [/quote] 4.htdoc

PHP性能优化工具–xhprof安装

PHP性能优化工具–xhprof安装,这里我先贴出大致的步骤: 1.获取xhprof 2.编译前预处理 3.编译安装 4.配置php.ini 5.查看运行结果 那么下面我们开始安装xhprof工具吧: 1.获取xhprof 可以输入网址直接下载,或者wget 1 2 3 4 #wget http://pecl.php.net/get/xhprof-0.9.4.tgz #tar zxf xhprof-0.9.4.tgz 2.编译前预处理 在编译xhprof之前,先做一下预处理,生成configur

如何在本地配置php分析工具xhprof

测试环境: linuxMint + nginx1.4.6+mysql5.5+php5.5 什么是xhprof? XHProf是一个分层PHP性能分析工具.它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况.一个函数的开销,可细分成调用者和被调用者的开销,XHProf数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序. 一,如何安装? 1,下载最新的xhprof包 官网地址:https://pecl.php.net/package/xhpr

性能分析工具-PerfView

Roslyn的PM(程序经理) Bill Chiles,Roslyn使用纯托管代码开发,但性能超过之前使用C++编写的原生实现,这有什么秘诀呢?他最近写了一篇文章叫做<Essential Performance Facts and .NET Framework Tips>里头推荐了一个性能分析工具<Improving Your App's Performance with PerfView>.PerfView能够收集Windows事件跟踪(ETW)数据来追踪程序的调用流向,这些程序