XHProf是Facebook开发的性能调试工具,帮助我们的PHP程序性能调优,更加健壮。XHProf安装和使用方法将在本章讲解。XHProf是PHP的PECL扩展。没有XDeBug那些耗费资源,更加的小巧。流程:程序开头打点,结尾打点。那么XHProf机会记录在两个点之间的所有代码响应时所耗费的时间、内存、CPU等各项指标,我们也可以知道一次请求调用了多少次MySQL,多少次Memcache,更加直观的指明优化道路。安装:
------------下载并编译PHP-XHProf源码------------
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 --enable-xhprof
make
make test
sudo make install------------修改php.ini---------------
sudo vim /etc/php.ini
#在php.ini最下方加入以下:
extension=xhprof.so
xhprof.output_dir="/var/www/xhprof"-----------重启Apache--------------
sudo apache restart
进入刚才解压的安装包文件夹中,将xhprof_lib和xhprof_html复制到项目目录下。 接下来,建立一个头文件head.php,这是要打两个点中的开头的点:
//head.php
<?php
if(extension_loaded('xhprof')){//载入下载的XHPROF包中的2个文件夹include_once 'xhprof_lib/utils/xhprof_lib.php';include_once 'xhprof_lib/utils/xhprof_runs.php';xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
}
再建立一个底部文件foot.php,这是要打两个点中的结尾的点:
//foot.php
<?php
if(extension_loaded('xhprof')){$ns = 'myXhprof';//关闭profiler$xhprofData = xhprof_disable();//实例化类$xhprofRuns = new XHProfRuns_Default();$runId = $xhprofRuns->save_run($xhprofData, $ns);//前端展示库的URL$url = 'http://localhost/xhprof_html/index.php';$url .= '?run=%s&source=%s';//变量替换$url = sprintf($url, $runId, $ns);//输入URLecho '<a href="'.$url.'" target="_blank">查看结果</a>';
}
使用的最后一步:打点。现在我们建立一个测试文件index.php。测试我大Hello World。
//index.php
<?php
include_once 'head.php';
echo 'Hello World';
include_once 'foot.php';
可以看到,在http://localhost/index.php中,最下面是我们在foot.php中写的“查看结果”,点击进去,可以看到本次请求所使用到的所有函数的列表,每个函数所耗费的时间、CPU、Memory等信息,点击第一栏可以根据所选排序。点击[View Full Callgraph]可以看到由本列表所生成的流程图,从入口到哪个函数,又到哪个函数,这个函数调用了哪个函数,这个函数调用了多少次Memcache等,一幕了然。减少MC的调用,减少这个,减少那个,请求的响应速度能不快吗? 技巧: 我有1000个文件,现在我需要用XHProf检测一下我整个项目,难道要每个文件头部和尾部都要加上include吗? 在php.ini中添加:
auto_prepend_file = /var/www/head.php
auto_append_file = /var/www/foot.php
或者在.htaccess中添加
php_value auto_prepend_file = /var/www/head.php
php_value auto_append_file = /var/www/foot.php
报错: 1、点击[View Full Callgraph]查看图片的时候报错:failed to execute cmd:" dot -Tpng". stderr:`sh: dot:command not found`。 原因:原因:未安装图形化工具 解决:
//红帽系列
yum install graphviz
//Ununtu
apt-get install graphviz
//OS X
brew install graphviz

XHProf的安装和使用(PHP性能测试神器)相关推荐

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

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

  2. PHP性能追踪及分析工具xhprof的安装与使用

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

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

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

  4. linux系统安装xhprof,xhprof扩展安装与使用

    一.xhprof扩展安装步骤 xhprof是PHP的一个扩展,最好也直接安装上graphviz图形绘制工具(用于xhprof分析结果以直观的图形方式显示),废话不多说,直奔正题. 1.安装 PHP5版 ...

  5. facebook工具xhprof的安装与使用-分析php执行性能

    来源:http://www.cnblogs.com/wangtao_20/archive/2013/09/13/3320497.html 下载源码包的网址   http://pecl.php.net/ ...

  6. PVFS2 1.4.0的安装、配置与性能测试

    PVFS2 1.4.0说实在话,做的很不错,起码在安装配置这方面很简单-无需重新编译kernel,安装手册也写的很不错,安装很顺利,所以,不再赘述了,直接参考这篇Quick Start,很详细: 很简 ...

  7. 梅林安装opkg后安装iperf3_路由器最高速度/性能测试 - Windows 安装 IPerf3 及 使用方法...

    # iPerf 简介 > `Iperf` 是一个网络性能测试工具.Iperf 可以测试最大 TCP 和 UDP 带宽性能,具有多种参数和 UDP 特性,可以根据需要调整,可以报告带宽.延迟抖动和 ...

  8. PerfDog性能狗(移动性能测试神器)

    PerfDog介绍: 移动全平台iOS/Android性能测试.分析工具平台.快速定位分析性能问题,提升APP应用及游戏性能和品质.手机无需ROOT/越狱,手机硬件.游戏及应用APP也无需做任何修改, ...

  9. python性能测试书籍_Python的性能测试神器-Locust

    Locust(俗称 蝗虫), 一个轻量级的开源压测工具,用Python编写. locustUI.png 网上已有不少的人总结了Locust与其余几个性能测试翘楚之间的差异.(灯光师,麻烦往第三位佳丽这 ...

最新文章

  1. SAP QM 将业务上的偏差管理集成进入SAP系统?
  2. .htaccess 禁止IP访问
  3. (转)WebSphere的web工程中怎么获取数据源
  4. Codeforces Round #205 (Div. 2) : D
  5. python中如何统计元组中元素的个数_python-无论元素顺序如何,获取列表中的元组数...
  6. Zookeeper可视化工具PrettyZoo
  7. 汽车制造MES介绍之3 - AVI车辆识别与调度
  8. 动易Ajax登陆调用
  9. AppCan VS PhoneGap - 对比两大移动开发平台
  10. python itchat模块登录失败_itchat模块的不明错误
  11. 明翰英语教学系列之句法篇V0.6(持续更新)
  12. CATIA常用的26个小技巧
  13. Python pgm解析和格式转换
  14. 计算机开机显示器不亮,电脑开机显示器不亮,小编教你电脑显示器不亮怎么解决...
  15. 旅游网站首页——html
  16. 2022年全球智能盆栽行业分析报告
  17. 哪一句话,能燃起你的斗志
  18. 关于在MacBook上查找序列号你知道吗
  19. 五种流行虚拟化桌面优缺点PK
  20. 易语言认识易语言数据类型

热门文章

  1. Microsoft Visual C++ 14.0 is required解决方法
  2. 结合不同的模型进行集成学习
  3. Fiddler抓包使用教程-会话图标
  4. WPF 支持分组互斥的 RadioButton 式单选菜单
  5. C/S架构应用程序开发培训笔记
  6. DW php创建站点
  7. 纯中文C++代码,可运行
  8. HDU 5112 A Curious Matt 水题
  9. BizTalk2006的帮助文件又更新了,对于还没有安装BizTalk环境又想学习的,不妨看看帮助先...
  10. c#_Math.Sign()