xhprof安装&&使用
听同事说起过一个php性能分析扩展,叫xhprof,近期了解了下。
XHProf 是一个轻量级的分层性能測量分析器。 在数据收集阶段。它跟踪调用次数与測量数据,展示程序动态调用的弧线图。 它在报告、后期处理阶段计算了独占的性能度量。比如执行经过的时间、CPU 计算时间和内存开销。 函数性能报告能够由调用者和被调用者终止。 在数据搜集阶段 XHProf 通过调用图的循环来检測递归函数,通过赋予唯一的深度名称来避免递归调用的循环。
以下整理下我的安装和用法
1、编译安装
wget http://pecl.php.net/get/xhprof-0.9.2.tgz tar zxf xhprof-0.9.2.tgz cd xhprof-0.9.2/extension/ sudo phpize
./configure --with-php-config=/usr/local/php/bin/php-config
sudo make
sudo make install
2、配置 php.ini
在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
注:假设是64位系统须要将xhprof.so文件复制到相关的lib64的文件夹下
3、在PHP代码中增加分析代码
<?pho
// cpu:XHPROF_FLAGS_CPU 内存:XHPROF_FLAGS_MEMORY
// 假设两个一起:XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); // 要測试的php代码 $data = xhprof_disable(); //返回执行数据 // xhprof_lib在下载的包里存在这个文件夹,记得将文件夹包括到执行的php代码中
include_once "xhprof_lib/utils/xhprof_lib.php";
include_once "xhprof_lib/utils/xhprof_runs.php"; $objXhprofRun = new XHProfRuns_Default(); // 第一个參数j是xhprof_disable()函数返回的执行信息
// 第二个參数是自己定义的命名空间字符串(随意字符串),
// 返回执行ID,用这个ID查看相关的执行结果
$run_id = $objXhprofRun->save_run($data, "xhprof");
var_dump($run_id);
4、查看执行结果
将xhprof_lib&&xhprof_html相关文件夹copy到能够訪问到的地址
訪问 xxx/xhprof_html/index.php? run=$run_id&source=bluefrog 就可经看到你的php代码运行的相关情况 以下是一些參数说明
Inclusive Time 包含子函数全部运行时间。 Exclusive Time/Self Time 函数运行本身花费的时间,不包含子树运行时间。
Wall Time 花去了的时间或挂钟时间。
CPU Time 用户耗的时间+内核耗的时间
Inclusive CPU 包含子函数一起所占用的CPU
Exclusive CPU 函数自身所占用的CPU
注: 须要使用ctype这个扩展
xhprof安装&&使用的更多相关文章
- PHP性能优化工具–xhprof安装
PHP性能优化工具–xhprof安装,这里我先贴出大致的步骤: 1.获取xhprof 2.编译前预处理 3.编译安装 4.配置php.ini 5.查看运行结果 那么下面我们开始安装xhprof工具吧: ...
- xhprof 安装详解
准备工作1.xhprof不支持php7,需要php7以下版本2.php扩展模块xhprof下载地址: http://pecl.php.net/get/xhprof-0.9.4.tgz xhprof安装 ...
- PHP性能检测与优化—XHProf 安装
PHP性能检测与优化—XHProf 安装 XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进 ...
- PHP性能测试工具xhprof安装与使用
原文链接:http://www.orlion.ga/711/ 一.安装 wget https://pecl.php.net/get/xhprof-0.9.4.tgz tar zxf xhprof-0. ...
- xhprof安装使用
安装: 到pecl官网下载xhprof的最新版:http://pecl.php.net/package/xhprof wget http://pecl.php.net/get/xhprof-0.9.4 ...
- xhprof 安装使用
1.安装扩展 windows下把 xhprof.dll 放到extensions目录下 修改配置文件 [xhprof] extension=xhprof.so; ; directory used by ...
- Xhprof安装笔记(PHP性能监控)
由facebook开源出来的一个PHP性能监控工具,占用资源很少,甚至能够在生产环境中进行部署.它可以结合graphviz使用,能够以图片的形式很直观的展示代码执行耗时 wget http://pec ...
- XhProf安装教程–详细教程
wget去这里找最新的包下载,我现在最新的是xhprof-0.9.4.tgz cd /tmp mkdir xhprof && cd xhprof wget http://pecl.ph ...
- xhprof安装记录
选择一个工具分析PHP函数调用的资源耗用明细,以图表化的形式展现,方便优化代码. 安装xhprof $ pecl install xhprof-beta 在php.ini引用的extension中 ...
- XHProf安装使用笔记
编译安装 获取源代码包root@sourcjoy>wget http://pecl.php.net/get/xhprof-0.9.2.tgz解压root@sourcjoy>tar zxf ...
随机推荐
- sublime中BracketHighlighter 插件使用 (转)
sublime中BracketHighlighter 插件使用 1.打开package Control,选择install Package 2.输入BracketHighlighter,回车 3.这样 ...
- [.Net] C#开发微信门户及应用之微信菜单的多种表现方式介绍
URL:http://www.it165.net/pro/html/201405/13997.html 在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一 ...
- nginx配置访问密码,让用户输入用户名密码才能访问
如果我们在 nginx 下搭建了一些站点,但是由于站点内容或者流量的关系,我们并不想让所有人都能正常访问,那么我们可以设置访问认证.只有让用户输入正确的用户名和密码才能正常访问.效果如下: 在 ngi ...
- springboot整合ActiveMQ 2(主备模式,负载均衡)
基本使用,https://www.tapme.top/blog/detail/2018-09-05-10-38 主备模式,https://www.tapme.top/blog/detail/2018- ...
- python求两个列表的并集.交集.差集
求两个列表的差集 >>> a = [1,2,3] >>> b=[1,2] >>> ################################ ...
- C - Game With Sticks
Problem description After winning gold and silver in IOI 2014, Akshat and Malvika want to have some ...
- Unity3d Time
using UnityEngine; using System.Collections; public class test1 : MonoBehaviour { public float angle ...
- 深入理解DIP、IoC、DI以及IoC容器(转载)
<转载的这个up的其他的文章也很nice> 这几个词第一眼看,懵逼,第二眼看,更特么懵逼..... 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序. 其中,OOD有一 ...
- win7利用tsmmc.msc远程管理工具
win7和xp默认不带tsmmc.msc远程管理工具.我们只需要从2003的windows\system32目录下复制 mstsmhst.dll ,mstsmmc.dll 和tsmmc.msc文件放到 ...
- forEach 列出数组的每个元素:
数组.forEach便利所有的元素 array.forEach(function(currentValue, index, arr), thisValue) function(currentValue ...