xhprof 的安装

cd ~

git clone https://github.com/longxinH/xhprof

安装 xhprof

cd xhprof/extension/

/opt/php-7.0.14/bin/phpize

./configure --with-php-config=/opt/php-7.0.14/bin/php-config --enable-xhprof

make

make install

出现

Installing shared extensions: /opt/php-7.0.14/lib/php/extensions/no-debug-non-zts-20151012/

代表编译成功

修改 php.ini 文件

/opt/php-7.0.14/bin/php -i | grep php.ini //命令查找php.ini文件的位置

在/etc/php.ini中增加如下配置

[xhprof]

extension=xhprof.so

xhprof.output_dir=/data/www/xhprof/save_output_dir //该目录自由定义即可,用来保存xhprof生成的源文件

保存好之后,重启php-fpm

kill -USR2 `cat /opt/php-7.0.14/var/run/php-fpm.pid`

将相关文件移动到项目中

//切换到下载的 xhprof 目录

cp -r xhprof/xhprof_html ROOT_PATH/

cp -r xhprof/xhprof_lib ROOT_PATH/

使用

xhprof_enable();

//你需要分析的代码

$xhprof_data = xhprof_disable();

include_once ROOT_PATH.'/xhprof_lib/utils/xhprof_lib.php';

include_once ROOT_PATH . '/xhprof_lib/utils/xhprof_runs.php';

$xhprof_runs = new XHProfRuns_Default();

$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test");

//将run_id保存起来或者随代码一起输出

查看数据

访问$host_url/xhpfrof_html/index.php?run=58d3b28b521f6&source=xhprof_test来查看结果

图形化结果

点击[View Full Callgraph]可以看图形化结果

报错

failed to execute cmd:" dot -Tpng". stderr:sh: dot:command not found。

//解决方案

yum install graphviz

如果输入浏览器没有数据这种情况:Run #530707980ee18: Invalid Run Id = 530707980ee18错误结果:

可能是你的配置权限不足,请给个权限,可以直接777,然后重新运行走后这个步骤看看效果。到这里xhprof安装就结束了,开始你的性能优化之旅吧,有了这个工具会事半功倍的~~对于xhprof的名词解释:

Function Name 函数名

Calls 调用次数  Calls% 调用百分比  Incl. Wall Time (microsec) 调用的包括子函数所有花费时间 以微秒算(一百万分之一秒)  IWall% 调用的包括子函数所有花费时间的百分比  Excl. Wall Time (microsec) 函数执行本身花费的时间,不包括子树执行时间,以微秒算(一百万分之一秒)  EWall% 函数执行本身花费的时间的百分比,不包括子树执行时间  Incl. CPU(microsecs) 调用的包括子函数所有花费的cpu时间。减Incl. Wall Time即为等待cpu的时间  减Excl. Wall Time即为等待cpu的时间  ICpu% Incl. CPU(microsecs)的百分比  Excl. CPU(microsec) 函数执行本身花费的cpu时间,不包括子树执行时间,以微秒算(一百万分之一秒)。  ECPU% Excl. CPU(microsec)的百分比  Incl.MemUse(bytes) 包括子函数执行使用的内存。  IMemUse% Incl.MemUse(bytes)的百分比  Excl.MemUse(bytes) 函数执行本身内存,以字节算  EMemUse% Excl.MemUse(bytes)的百分比  Incl.PeakMemUse(bytes) Incl.MemUse的峰值  IPeakMemUse% Incl.PeakMemUse(bytes) 的峰值百分比  Excl.PeakMemUse(bytes) Excl.MemUse的峰值  EPeakMemUse% EMemUse% 峰值百分比

错误处理:

failed to execute cmd:" dot -Tpng".stderr:`sh: dot: command not found '

原因:未安装图形化工具

yum install graphviz//centosbrew install graphviz//mac

界面优化:XHProf UI 分支

查看图片

图中红色的部分为性能比较低,耗时比较长的部分,我们可以根据根据哪些函数被标记为红色对系统的代码进行优化

补充

Function Name:方法名称。

Calls:方法被调用的次数。

Calls%:方法调用次数在同级方法总数调用次数中所占的百分比。

Incl.Wall Time(microsec):方法执行花费的时间,包括子方法的执行时间。(单位:微秒)

IWall%:方法执行花费的时间百分比。

Excl. Wall Time(microsec):方法本身执行花费的时间,不包括子方法的执行时间。(单位:微秒)

EWall%:方法本身执行花费的时间百分比。

Incl. CPU(microsecs):方法执行花费的CPU时间,包括子方法的执行时间。(单位:微秒)

ICpu%:方法执行花费的CPU时间百分比。

Excl. CPU(microsec):方法本身执行花费的CPU时间,不包括子方法的执行时间。(单位:微秒)

ECPU%:方法本身执行花费的CPU时间百分比。

Incl.MemUse(bytes):方法执行占用的内存,包括子方法执行占用的内存。(单位:字节)

IMemUse%:方法执行占用的内存百分比。

Excl.MemUse(bytes):方法本身执行占用的内存,不包括子方法执行占用的内存。(单位:字节)

EMemUse%:方法本身执行占用的内存百分比。

Incl.PeakMemUse(bytes):Incl.MemUse峰值。(单位:字节)

IPeakMemUse%:Incl.MemUse峰值百分比。

Excl.PeakMemUse(bytes):Excl.MemUse峰值。单位:(字节)

EPeakMemUse%:Excl.MemUse峰值百分比。

参考:

http://www.jianshu.com/p/c420ebe6ce39

http://www.php.cn/php-weizijiaocheng-376423.html

https://www.oschina.net/question/1439832_2147576

php7安装xhprof,PHP7 下安装并使用 xhprof 性能分析工具相关推荐

  1. php轻量级的性能分析工具xhprof的安装使用

    之前一直使用基于Xdebug进行PHP的性能分析,对于本地开发环境来说是够用了,但如果是线上环境的话,xdebug消耗较大,配置也不够灵活,因此线上环境建议使用xhprof进行PHP性能追踪及分析. ...

  2. php性能分析工具XHProf安装配置使用教程(linux精华版)

    XHProf是一个分层PHP性能分析工具.它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况.一个函数的开销,可细分成调用者和被调用者的开销,XHProf数据收集阶段,它记录调 ...

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

    一.前言 有用的东西还是记录下来吧,也方便以后的查询:这次记录一下xhprof的安装使用: xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低, ...

  4. linux nginx rpm 安装配置,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  5. php xhprof extension,PHP性能分析工具-xhprof扩展安装

    简述:XHProf是一个分层PHP性能分析工具.它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况.一个函数的开 销,可细分成调用者和被调用者的开销,XHProf数据收集阶段, ...

  6. sql2005 安装完成后只有配置工具,没有管理工具和性能分析工具

    安装完成后只有配置工具,没有管理工具和性能分析工具等. (1)版本问题,Express 版本的安装包中是没有管理工具.需要额外下载.   Microsoft SQL Server Management ...

  7. Linux系统下常见性能分析工具的使用

    在前面的文章中,我简单介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下 ...

  8. linux 性能教程,Linux系统下常见性能分析工具的使用

    在前面的文章中,我简单介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下 ...

  9. 分析linux系统的运行性能,Linux系统下常见性能分析工具的使用

    在前面的文章中,我简单介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下 ...

  10. Linux下性能分析工具

    Linux下性能分析工具 1.iotop IO性能分析工具 yum -y install epel-release yum -y install iotop iotop 2.nload 网络流量分析工 ...

最新文章

  1. 浅显易懂 Makefile 入门 (03)— 目标文件搜索(VPATH 和 vpath 的区别和使用)、隐含规则
  2. AEM:众里寻他千百度,用了SIP不迷路-识别污水处理单元中砷氧化细菌的多样性及代谢潜力...
  3. 电脑更新重启后黑屏_电脑进入系统后黑屏怎么办?
  4. js中报错“Maximum call stack size exceeded“解决方法
  5. 顶级项目管理工具 Top 10
  6. 深度学习-机器学习(神经网络的应用 上)
  7. 【Linux】一步一步学Linux——dmesg命令(74)
  8. 前端面试题整理【转】
  9. sql运算符_SQL AND运算符解释语法示例
  10. Python——装饰器的学习笔记(legacy)
  11. 中国水痘带状疱疹感染治疗药物市场趋势报告、技术动态创新及市场预测
  12. JavaScript年月日和时间戳互转
  13. 如何html设置下载的字体呢?
  14. 路由器的几种工作模式
  15. gdb调试查看内存数据
  16. OCR论文阅读笔记01--multi-oriented scence text detection via corner localization and regin segmentation
  17. 我这些年从来没有用过算法,除了出去面试的时候
  18. javascript实现无缝滚动
  19. 【OCR】AspriseOCR 条码识别 C++
  20. mobx在react如何使用

热门文章

  1. matlab求矩阵的本征值,matlab矩阵本征值问题
  2. 开封机器人餐厅_机器人主题餐厅-上海装修
  3. 开放平台:新浪微博 for iOS
  4. 看到一个NB的人: 千里冰封--JAVA 浓香四溢
  5. redis的下载安装命令
  6. SpringCloud入门随感五
  7. python思考题实验题整理
  8. Linux下防范缓冲区溢出攻击安全策略(转)
  9. Time Changes Everything
  10. 美国防部利用人工智能和云网络提前预判对手行动