废话不多说,直接上代码 ,手动滑稽。o(╯□╰)o   如果已解决您的问题,请在文章底部点击下关注,非常感谢。

下面是LINUX命令行

$ wget http://pecl.php.net/get/xhprof-0.9.4.tgz
$ tar -zxvf xhprof-0.9.4.tgz
$ cd xhprof-0.9.4
$ cd extension/
$ phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config   //在这个地方,很多教程是错误的,只有./configure这个,事实是如果只敲./configure会报错。o(╯□╰)o   当然我使用的是ubantu16.04版本,如果是其他版本的话,看看对应的配置文件位置。
$ make
$ sudo make install

LINUX命令行修改php.ini 一般是在/usr/local/php/etc路径下。php.ini加入如下配置:ps不用怀疑就是这么简单

[xhprof]
extension=xhprof.so
xhprof.output_dir=/tmp

重启Apache,然后去网站根目录运行phpinfo()函数,出现以下内容,说明扩展生效:

有了这个扩展后,就可以用这个扩展的内置函数进行分析性能了:

有了这个扩展后,就能在自己的php代码中调用这个扩展内置的函数来做性能监控了,像下面这样子
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);................这里是要被监控的代码块
$data = xhprof_disable();include_once "xhprof_lib/utils/xhprof_lib.php";
include_once "xhprof_lib/utils/xhprof_runs.php";
$objXhprofRun = new XHProfRuns_Default();//数据会保存在php.ini中xhprof.output_dir设置的目录去中
$run_id = $objXhprofRun->save_run($data, "test");

接下来就是使用的问题了  ps请关注我的博客,博客不在老,而在于是否有没有准确的干货。

加下来怎么使用要干3件事:

1:安装作图工具,命令行如下:

sudo apt-get install graphviz     //安装途中如果出现error,不用管。

2、移动资源文件,在最初下载的xhprof-0.9.4.tgz解压目录里有两个文件夹xhprof_html和xhprof_lib都复制到网站根目录下,只要能被http访问到就可以了:

把这两个文件夹复制到www目录下,复制命令就省略了。

3、在www目录下,新建一个文件test.php测试代码命名如下,加入以下代码:ps代码不用作任何修改,除非你明白怎么回事,大神忽略。

浏览器访问一下test.php文件,比如我本地localhost/test.php

<?php
error_reporting(-1);xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);$begin_time = microtime_float();//统计执行速度代码
$end_time = microtime_float();$exec_time  = $end_time-$begin_time;//@save_stat($exec_time);for($i=0;$i<10;$i++){for($j=0;$j<10;$j++){}
}
$data = xhprof_disable();
include_once "xhprof_lib/utils/xhprof_lib.php";//从源码包中拷贝xhprof_lib这个文件夹过来直接可以调用
include_once "xhprof_lib/utils/xhprof_runs.php";
$objXhprofRun = new XHProfRuns_Default();//数据会保存在php.ini中xhprof.output_dir设置的目录去中
$run_id = $objXhprofRun->save_run($data, "test");
//第二个参数是定义文件名称。名称如果为"xhprof",则在xhprof.output_dir设置的目录生成的文件:522ab85f40229.xhprof.xhprof。
//格式为:"id标识.组名称.xhprof",id标识就是$run_id得到的结果。//id标识是每次运行的时候就生成一个新的标识,也就是生成一个新的文件,记录每次运行的数据
var_dump($run_id);
echo "http://www.xxxx.com/xhprof_html/index.php?run={$run_id}&source=test\n";//source的值必须是save_run中指定的名称。这个其实就是根据编号和名称才能定位到对应的文件"522ab85f40229.xhprof.xhprof"
//将这个地址输出来,是为了直接可以去查看分析结果。function save_stat($time)
{static $call_count=1;$call_limit = 10;if(!$time) return ;$date = date("Y-m-d");//暂时按照天来生成文件。方便查阅$exec_stat_file = './exec_stat'.DIRECTORY_SEPARATOR."exec_stat_file-".$date.".txt";$fp = fopen($exec_stat_file,'ab');if(flock($fp,LOCK_EX)){$s = 'access:'.date("Y-m-d H:i:s").',execute time:'.$time.'s,request_url:http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."||".PHP_EOL;fwrite($fp,$s);flock($fp,LOCK_UN);}else{usleep(1000);if($call_count<$call_limit){$call_count++;save_stat($time);}}@fcolse($fp);//var_dump($fp);

}
function microtime_float()
{list($usec, $sec) = explode(" ", microtime());return ((float)$usec + (float)$sec);
}
?>

如果是本地,就访问 localhost/xhprof_html  就会出现以下页面:

上图出现的链接,随便点一个,就会出现以下页面:

点击红色方框这里就会出现作图工具graphviz绘制的分析图:

转载于:https://www.cnblogs.com/wenhainan/p/6542655.html

安装XHProf分析PHP性能瓶颈(原创)相关推荐

  1. 使用XHProf分析PHP性能瓶颈(二)

    上一篇文章里,我们介绍了如何基于xhprof扩展来分析PHP性能,并记录到日志里,最后使用xhprof扩展自带的UI在web里展示出来.本篇文章将讲述2个知识点: 使用xhgui代替xhprof的默认 ...

  2. php7安装xhprof,php7中使用 xhprof 分析

    这是篇纯文档,如果以后有需要可以随时查找, 使用 xhprof 进行分析, 方便代码测试.对比分析(支持 php 7). 前置构建 docker 虚拟测试环境 docker run -it -p 80 ...

  3. php7安装xhprof,PHP7 下安装并使用 xhprof 性能分析工具

    xhprof 的安装 cd ~ git clone https://github.com/longxinH/xhprof 安装 xhprof cd xhprof/extension/ /opt/php ...

  4. php7中使用 xhprof 分析

    开篇语 这是篇纯文档,如果以后有需要可以随时查找, 使用 xhprof 进行分析, 方便代码测试.对比分析(支持php7). 前置构建 docker 虚拟测试环境 docker run -it -p ...

  5. php 瓶颈,使用XHProf查找PHP性能瓶颈

    XHProf是facebook 开发的一个测试php性能的扩展,本文记录了在PHP应用中使用XHProf对PHP进行性能优化,查找性能瓶颈的方法. 安装Xhprof扩展 $ wget http://p ...

  6. php 7 xhprof,php7中使用 xhprof 分析

    开篇语 这是篇纯文档,如果以后有需要可以随时查找, 使用 xhprof 进行分析, 方便代码测试.对比分析(支持php7). 前置构建 docker 虚拟测试环境 docker run -it -p ...

  7. window wamp中配置安装xhprof步骤(windows)

    本文章来给各位同学介绍在window wamp中配置安装xhprof方法与具体步骤,希望些方法对各位同学会有所帮助哦. 1.下载在这里 http://dev.freshsite.pl/php-exte ...

  8. windows 安装 xhprof

    Windows安装Xhprof步骤 第一步:下载PHP使用xhprof的扩展以及xhprof的代码demo压缩包.压缩包选择2.2.0.DLL扩展选择对应的PHP版本即可. 下载链接:https:// ...

  9. mac php 安装xhprof

    xhprof 是一款非常不错的php性能分析工具,由facebook开发,有直观的图形分析,可以看到各个流程的性能损耗 1.安装xhprof 安装了php,很简单执行:pecl install xhp ...

最新文章

  1. android仿qq聊天项目点评,android 实现qq聊天对话界面效果
  2. matlab mandrill,MATLAB】MATLAB的自带数据及可生成数据的函数
  3. Mac系统中MongoChef链接MongoDB集群的方法
  4. 飞康CEO:敢于向传统的灾备法则说“不”
  5. 【JAVA基础篇】Socket编程
  6. Alibaba Sentinel 限流与熔断初探
  7. Web服务器的配置与管理(3) 配置虚拟目录
  8. mybatis--一对一、一对多、多对多(七)
  9. RSAC|苹果设备的最大威胁是逆向后重部署的恶意软件
  10. python中格式化输出_python如何实现格式化输出
  11. python仓库管理
  12. 微信小程序之弹窗功能
  13. 杨建:网站加速--实例分析篇
  14. Unity UI Text组件添加contentsizefitter后获取RectTransform宽度
  15. 【爱吃肉的阿C】使用URL类将文件下载到本地
  16. 算法篇:神奇的卡塔兰数Catalan
  17. 那两年炼就的Android内功修养
  18. Unix timestamp时间 与 普通时间 转换方法
  19. linux 卸载nexus,Linux下安装maven和nexus
  20. Openwrt-USB网络共享

热门文章

  1. 解决苹果手机返回不刷新问题
  2. 【Solidity】1.一个Solidity源文件的布局 - 深入理解Solidity 1
  3. 使用git建立本地仓储管理代码【转】
  4. IPv4地址何去何从 IPv6不向下兼容的尴尬
  5. html怎么绘制飞线,绘制飞线,echarts迁徙图原理
  6. ansys workbench 帮助文档在哪_中英对照读ANSYS帮助文档,是怎么玩的?
  7. DWR学习笔记 - Hello World
  8. frame页面跳转和信息提示页面
  9. android Launcher——ui框架
  10. Javascript 刷新框架及页面的方法汇总(转)