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

标签: php 性能分析 工具 | 发表时间:2015-04-01 17:36 | 作者:wsluozefeng
出处:http://www.iteye.com

项目域名:http://www.ajia.com

项目路径:/home/www/

 

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 /home/www/  (复制xhprof_html、xhprof_lib这两个目录到“项目目录”下,此处目的是建立xhprof的数据分析目录,可将此目录配置成虚拟主机访问)  

cd extension/  

phpize (如果没有改命令,先安装php-del)  

./configure  -–with-php-config=/usr/bin/php-config   (php-config的路径需要正常)  

make

make install  (提示安装成功后显示xhprof.so扩展的存放路径)

 

 

2.php.ini配置文件中添加

extension=xhprof.so

xhprof.output_dir=/www/logs/xhprof (这里存放的是xhprof每次性能分析的“记录”的文件,前台显示的数据就来自该文件,该目录必须是“存在且能读写”)

 

 

3.重启php生效xhprof扩展,通过phpinfo()查看是否使用了xhprof扩展

 

 

4.安装libpng包(为了能够通过图例来显示性能分析,可以不安装)

wget http://hivelocity.dl.sourceforge.net/project/libpng/libpng15/older-releases/1.5.15/libpng-1.5.15.tar.gz

tar xvzf libpng-1.5.15.tar.gz && cd libpng-1.5.15

./configure

make

make install

 

 

5.安装graphviz(为了能够通过图例来显示性能分析,可以不安装)

wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz

tar zxf graphviz-2.24.0.tar.gz

cd graphviz-2.24.0

./configure --with-png=yes

make

make install

 

 

 

php代码使用示例:

 

在头部(在所有执行php进程开始的地方,一般是头部):

xhprof_enable(); 

//xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); 不记录内置的函数

//xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);  同时分析CPU和Mem的开销

$xhprof_on = true;

 

/*

//生产环境可使用:

if (mt_rand(1, 10000) == 1) {

   xhprof_enable();

   $xhprof_on = true;

}

*/

 

尾部(在所有php进程结束的地方,一般是底部):

if($xhprof_on){

$xhprof_data = xhprof_disable();

$xhprof_root = '/home/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, "hx");

echo '<a href="http://www.ajia.com/xhprof_html/index.php?run='.$run_id.'&source=hx" target="_blank">统计</a>';

}

 

/*

运行程序,底部出现统计字样,点过去就可以看到性能分析了。按运行时间排序,很容易找出化时间最长的函数。点[View Full Callgraph]图形化显示,最大的性能问题会用红色标出,其次是黄色。

*/

 

 

 

输出结果的含义:

 

ct 函数调用次数,

wt 花费的时间,

cpu 花费的 CPU 时间(微秒即百万分之一秒),

mu 使用的内存(bytes),

pmu 使用的内存峰值(bytes)。

 

 

web 分析结果页面含义

 

 

Calls:函数的调用次数

Incl. Wall Time (microsec) :包含内部函数花费的时间,单位微秒

Excl. Wall Time (microsec):不包含内部函数花费的时间,单位微秒

及所占百分比(%)

 

注:Incl.:为 Including 包含的简写

Excl.:为 Excluding 不包含的简写

Wall Time:意为挂钟时间即任务花费的时间

 

main():一个虚构的函数,程序根节点

bar@2:递归调用 2 次

 

Incl. CPU (microsecs):包含内部函数 CPU 花费的时间,单位微秒

Excl. CPU (microsec):不包含内部函数 CPU 花费的时间,单位微秒

Incl. MemUse (bytes):包含内部函数所占内存,单位字节

Excl. MemUse (bytes):不包含内部函数所占内存,单位字节

Incl. PeakMemUse (bytes):包含内部函数所占内存峰值,单位字节

Excl. PeakMemUse (bytes):不包含内部函数所占内存峰值,单位字节

及所占百分比(%)

 

可以认为共三种情况:

1. 包括内部函数

2. 不包括内部函数或者说函数本身

3. 所占总数(时间或内存使用)的百分比



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [php 性能分析 工具] 推荐:

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

- - 操作系统 - ITeye博客
项目域名:http://www.ajia.com. 项目路径:/home/www/. cp -r xhprof_html xhprof_lib /home/www/  (复制xhprof_html、xhprof_lib这两个目录到“项目目录”下,此处目的是建立xhprof的数据分析目录,可将此目录配置成虚拟主机访问)  .

nmon免费性能分析工具

- - CSDN博客推荐文章
这个工具是IBM推出的用于性能分析的免费工具,支持AIX、Linux平台. nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:. 内核统计信息和运行队列信息. 磁盘 I/O 速度、传输和读/写比率. 网络 I/O 速度、传输和读/写比率. IBM HTTP Web 缓存.

Linux 性能分析工具 nmon for Linux

- - CSDN博客架构设计推荐文章
nmon 是 Nigel's performance Monitor for Linux on POWER, x86, x86_64, Mainframe & now ARM (Raspberry Pi) 的缩写,意思是 Nigel(nmon 的作者是 Nigel Griffiths) 的 Linux 性能检测器.

[译]Go性能分析工具工具和手段

- - 鸟窝
翻译自 Basics of benchmarking, profiling and tracing with Go,作者对Go性能分析的工具和手段做了一个很好的总结. 这篇文档提供了Go提供的测量性能和收集运行时信息的工具的概览. 它不是一个关于基准测试、性能分析和跟踪的详细教程. 所以这篇文档也可以看成是一篇备忘录.

正确使用Android性能分析工具——TraceView

- - 博客 - 伯乐在线
最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方. 因为之前不会正确使用TraceView这个工具,主要是看不懂TraceView界面下方数据指标的值代表什么意思…以前我用 StopWatch类来分析性能,现在觉得弱爆了…不过有些地方 StopWatch工具类还是很简单好用的~.

perf学习-linux自带性能分析工具

- - ITeye博客
目前在做性能分析的事情,之前没怎么接触perf,找了几篇文章梳理了一下,按照问题的形式记录在这里. linux性能调优工具,32内核以上自带的工具,软件性能分析. 在2.6.31及后续版本的Linux内核里,安装perf非常的容易. 几乎能够处理所有与性能相关的事件. 指在处理器或者操作系统中发生,可能影响到程序性能的硬件事件或者软件事情.

Android 性能分析工具之 TraceView 使用说明

- - CSDN博客推荐文章
TraceView 是 Android 平台配备一个很好的性能分析的工具. 它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到 method. TraceView 是 Android 平台特有的数据采集和分析工具,它主要用于分析 Android 中应用程序的 hotspot. TraceView 本身只是一个数据分析工具,而数据的采集则需要使用 Android SDK 中的 Debug 类或者利用 DDMS 工具.

10个免费的PHP编辑器/开发工具

- Ian - ITeye资讯频道
一个好的编辑器或开发工具,能够极大提高我们的开发效率. 下面介绍10个免费、强大的PHP编辑器/开发工具. 这些编辑器拥有调试器、增量执行PHP脚本、查看每一行的所有变量值等功能.   Notepad++是一款非常有特色的编辑器,是开源软件,可以免费使用. 支持的语言: C, C++, Java , C#, XML, HTML, PHP, Javascript.

如何使用工具进行线上 PHP 性能追踪及分析?

- - OneAPM 博客
工作了一两年的 PHPer 大概都多多少少知道一些性能分析的工具,比如 Xdebug、xhprof、New Relic 、OneAPM. 使用基于 Xdebug 进行 PHP 的性能分析,对于本地开发环境来说是够用了,但如果是线上环境的话, xdebug 消耗较大,配置也不够灵活. 相比 Xdebug ,xhprof 性能消耗较小,但是 xhprof 注入代码后我们还需要实现保存 xhprof 数据以及展示数据的 UI,听起来似乎又是一大堆工作.

PHP导出excel

- syeye - scofield PHP开发-SEO SEM
最近做一个项目,其中涉及到了数据导成excel的功能. 后来使用了 开源的 PHPExcel  http://phpexcel.codeplex.com/ 目前最新版是1.7.6. PHPExcel 可以生成 .xls 和 .xlsx (office2007). 比如设置 excel的title,keywords,description.