XHProf——php性能分析工具
2014-11-24 16:55
411 查看
XHProf是facebook开发的一个php扩展,用于采集php程序中每个函数的性能开销。采集的数据包括:内存消耗、CPU计算时间、函数执行时长等等。
XHProf同时提供了一套查看性能数据的web界面,可查看php程序执行过程中函数的调用情况和性能开销,也可对多个结果进行差异对比或者汇总。
1. 安装XHProf扩展
XHProf的安装步骤和常规php扩展的安装一样:
(1). 下载XHProf,目前最近版为xhprof-0.9.4.tgz(http://pecl.php.net/package/xhprof)
(2). 解压
tar -zxvf xhprof-0.9.4.tgz
(3). 进入xhprof-0.9.4/extension执行phpize
cd xhprof-0.9.4/extension
/usr/local/php/bin/phpize
(4). 执行configure,指定php-config路径
./configure --with-php-config=/usr/local/php/bin/php-config
(5). 执行make & make install
make install
(6). 修改php.ini,引入xhprof.so并指定XHProf的性能数据存放目录
extension=xhprof.so;
xhprof.output_dir=/usr/local/avery/xhprof_data;
2. 安装Graphviz
Graphviz是一个基于命令行的绘图工具,XHProf中使用Graphviz的命令来绘制函数调用图。
Graphviz的安装过程和其他linux软件安装无异,同样是configure、make、make install三步骤,这里不再赘述。需要注意的是,安装成功后需要将graphviz/bin/dot命令的路径加入到环境变量,因为xhprof生成函数调用图时会直接执行dot命令来生成图片。
至此,XHProf扩展已经安装好了,我们可以通过XHProf提供的函数进行性能数据采集。但采集完成后,我们需要将数据存储并通过可视化界面展示出来,XHProf提供了相关的类库和web页面,分别位于xhprof-0.9.4/xhprof_lib和xhprof-0.9.4/xhprof_html,我们需要将这两个目录引入项目。
详见http://www.php.net/manual/zh/ref.xhprof.php
1. 代码示例
2. 页面输出
3. 查看数据
打开xhprof提供的数据查看页面(xhprof_html/index.php),可以看到所有采集到的性能数据列表:
点击任一项查看数据,可以查看某次php执行中有多少函数被调用,以及每个函数的调用次数、执行时间、cpu时间以及内存消耗等等:
点击[View Full Callgraph]可查看函数调用关系图,其中红色节点是整个php程序执行过程中的瓶颈,黄色路径为整个过程耗时最长的路径:
1. xhprof_disable返回的数组中:
ct:函数被调用的次数。
wt:函数执行时间,单位微秒。
cpu:函数执行的cpu计算时间,单位微秒。
mu:函数执行的内存使用量,单位字节。
pmu:函数执行的内存使用峰值,单位字节。
2. 数据查看页面中:
Calls:函数调用次数
Incl. Wall Time:包括子函数的函数执行时间。
Excl. Wall Time:不包括子函数的函数执行时间。
Incl. CPU:包括子函数的cpu计算时间。
Excl. CPU:不包括子函数的cpu计算时间。
Incl.MemUse:包括子函数的内存使用量。
Excl.MemUse:不包括子函数的内存使用量。
Incl.PeakMemUse:包括子函数的内存使用峰值。
Excl.PeakMemUse:不包括子函数的内存使用峰值。
XHProf同时提供了一套查看性能数据的web界面,可查看php程序执行过程中函数的调用情况和性能开销,也可对多个结果进行差异对比或者汇总。
1. 安装XHProf扩展
XHProf的安装步骤和常规php扩展的安装一样:
(1). 下载XHProf,目前最近版为xhprof-0.9.4.tgz(http://pecl.php.net/package/xhprof)
(2). 解压
tar -zxvf xhprof-0.9.4.tgz
(3). 进入xhprof-0.9.4/extension执行phpize
cd xhprof-0.9.4/extension
/usr/local/php/bin/phpize
(4). 执行configure,指定php-config路径
./configure --with-php-config=/usr/local/php/bin/php-config
(5). 执行make & make install
make install
(6). 修改php.ini,引入xhprof.so并指定XHProf的性能数据存放目录
extension=xhprof.so;
xhprof.output_dir=/usr/local/avery/xhprof_data;
2. 安装Graphviz
Graphviz是一个基于命令行的绘图工具,XHProf中使用Graphviz的命令来绘制函数调用图。
Graphviz的安装过程和其他linux软件安装无异,同样是configure、make、make install三步骤,这里不再赘述。需要注意的是,安装成功后需要将graphviz/bin/dot命令的路径加入到环境变量,因为xhprof生成函数调用图时会直接执行dot命令来生成图片。
至此,XHProf扩展已经安装好了,我们可以通过XHProf提供的函数进行性能数据采集。但采集完成后,我们需要将数据存储并通过可视化界面展示出来,XHProf提供了相关的类库和web页面,分别位于xhprof-0.9.4/xhprof_lib和xhprof-0.9.4/xhprof_html,我们需要将这两个目录引入项目。
三、相关函数
详见http://www.php.net/manual/zh/ref.xhprof.php
四、使用方法
1. 代码示例<?php //启动xhprof性能分析 xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); //执行业务代码 function myFunc{ $length = strlen('hello'); ( = ; ++; < 20000){ $length += ; } return $length; } myFunc(); time(); //业务代码执行完后,停止xhprof性能分析并取得性能数据 $data = xhprof_disable(); //保存性能数据 require 'xhprof/xhprof_lib/utils/xhprof_lib.php'; require 'xhprof/xhprof_lib/utils/xhprof_runs.php'; $xhprof_runs = XHProfRuns_Default(); $xhprof_runs->save_run($data, "test"); //打印性能数据 var_dump($data);
2. 页面输出
3. 查看数据
打开xhprof提供的数据查看页面(xhprof_html/index.php),可以看到所有采集到的性能数据列表:
点击任一项查看数据,可以查看某次php执行中有多少函数被调用,以及每个函数的调用次数、执行时间、cpu时间以及内存消耗等等:
点击[View Full Callgraph]可查看函数调用关系图,其中红色节点是整个php程序执行过程中的瓶颈,黄色路径为整个过程耗时最长的路径:
五、名词解释
1. xhprof_disable返回的数组中:ct:函数被调用的次数。
wt:函数执行时间,单位微秒。
cpu:函数执行的cpu计算时间,单位微秒。
mu:函数执行的内存使用量,单位字节。
pmu:函数执行的内存使用峰值,单位字节。
2. 数据查看页面中:
Calls:函数调用次数
Incl. Wall Time:包括子函数的函数执行时间。
Excl. Wall Time:不包括子函数的函数执行时间。
Incl. CPU:包括子函数的cpu计算时间。
Excl. CPU:不包括子函数的cpu计算时间。
Incl.MemUse:包括子函数的内存使用量。
Excl.MemUse:不包括子函数的内存使用量。
Incl.PeakMemUse:包括子函数的内存使用峰值。
Excl.PeakMemUse:不包括子函数的内存使用峰值。
相关文章推荐
- xhprof(PHP性能分析工具)
- PHP性能分析工具XHProf安装使用教程
- Xhprof----facebook开源的,轻量级的PHP性能分析工具
- php性能分析工具——XHProf
- php性能分析工具xhprof
- PHP 性能分析工具XHProf使用
- php性能分析工具 - xhprof的安装使用
- xhprof:php性能分析工具
- php 性能分析工具xhprof使用手册
- 分层PHP性能分析工具--xhprof
- XHProf-php轻量级的性能分析工具
- PHP性能分析工具XHProf
- PHP性能分析工具XHProf安装使用教程
- php生产环境XHProf 性能分析工具
- php性能分析工具xhprof
- XHProf php轻量级的性能分析工具使用手册(中文版)
- windows下安装PHP性能分析工具 xhprof 笔记
- php轻量级的性能分析工具xhprof的安装使用
- php轻量级的性能分析工具xhprof的安装使用
- xhprof php性能分析工具