本文实例分析了PHP性能测试工具xhprof安装与使用方法。分享给大家供大家参考,具体如下:

xhprof概述:

XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。一个函数的开销,可细分成调用者和被调用者的开销,XHProf数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序。它独有的数据计算的报告/后处理阶段。在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开死循环。XHProf分析报告有助于理解被执行的代码的结构,它有一个简单的HTML的用户界面( PHP写成的)。基于浏览器的性能分析用户界面能更容易查看,或是与同行们分享成果。也能绘制调用关系图。

安装与使用:

最近要做网站的性能对比,于是就找一款性能测试工作来玩玩,工具很多,但相比之前还是觉得xhprof的安装和使用相对来说简单点,数据分析也都还可以,下面就说说它的安装和使用。。。

下载xhprof和graphviz

xhprof的话,直接去php官网就可以下载,为了方便可以戳一下 这里

graphviz的话也要下载,主要是显示xhprof性能结果的图形报表,戳这里 这里

编译安装xhprof

cd xhprof-0.9.4/xhprof-0.9.4/extension/

phpize

./configure

make

sudo make install

将生成的xhprof.so文件加到php.ini文件中,然后重启apache了

...

#这里要使用相对路径加载的话首先要看一下extension_dir配置的路径,或者直接写上`.so`文件的绝对能够路径即可。。。

extension=xhprof.so

...

sudo apachectl restart

##测试扩展是否安装成功,有如下输出则ok

php --ri xhprof

...

xhprof

xhprof => 0.9.2

CPU num => 4

...

安装graphviz

cd graphviz-2.38.0/

#后面参数是要确保安装了libphp才行哦【没安装的 brew install linpng 就可】

./configure --with-png=yes

make

sudo make install

测试一下了

在之前下载的xhprof文件夹里面,找到xhprof_html,xhprof_lib、sample三个文件夹,那这三个文件夹放到你可以访问到得地方去,然后通过连接先访问以下http://xxxx/sample/sample.php,在访问以下http://xxxx/xhprof_html/,就会看到有一条记录,点击后就可以看到分析结果页面,通过点击 View Full CallGraph链接到图形报表的页面。

如何使用

假设你现在要看看看自己做的一个网站的首页性能数据,那么你要找到这个网站的首页入口文件,在核心文件加载之前和之后分别加上xhprof的性能测试代码

#开启,具体参数说明可以查看官方文档

xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);

#核心文件的执行

...

require 'index.php'

...

#关闭

$xhprof_data = xhprof_disable();

#这里的路径根据自己的站点来配置

$XHPROF_ROOT = realpath(dirname(__FILE__) .'/');

include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";

include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();

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

#这里打印出本次测试的id,方便到报表列表页面【http://xxxx/xhprof_html/】去通过对应的id找到对应的结果

var_dump($run_id);

希望本文所述对大家PHP程序设计有所帮助。

php性能测试下载,PHP性能测试工具xhprof安装与使用方法详解相关推荐

  1. linux中apache配置文件在哪,linux网站服务Apache的安装与配置方法详解

    这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分.具体详情可以参考下文. 1.挂载光盘 自己习惯将光盘挂载 ...

  2. PyKivy入门教程:Kivy Python库的介绍、安装及使用方法详解

    PyKivy入门教程:Kivy Python库的介绍.安装及使用方法详解 Kivy是一个跨平台的Python GUI工具包,可以用于开发能够在多种设备和操作系统上运行的应用程序.Kivy支持触摸输入. ...

  3. 安卓java安装apk代码_Android 通过代码安装 APK的方法详解

    在 APK 开发中,通过 Java 代码来打开系统的安装程序以安装 APK 并不是什么难事,一般的 Android 系统都有开放这一功能. 但随着 Android系统版本的迭代,其对于权限的把控越来越 ...

  4. 在mac上用文本编辑器写python_Mac系统Python解释器、PyCharm编辑器安装及使用方法详解...

    『环境配置』- 工欲善其事,必先利其器 视频讲解教程:[Mac系统Python开发环境配置教程详解(Python技术客栈)](https://www.bilibili.com/video/av8076 ...

  5. coreseek 安装及使用方法详解

    coreseek 安装及使用 一般站点都需要搜索功能,如果是php+mysql站点,建议选择coreseek,如果是java站点建议使用lucene,coreseek 是一款很好的中文全文检索/搜索软 ...

  6. 计算机iis配置具体步骤,如何配置iis iis的安装及配置方法详解【图文教程】

    导语:随着技术的进步,我们使用计算机的概率越来越大,大家在使用的过程之中难免会遇到一些问题.比如对于IIS配置相信应该是很多朋友们比较困惑的吧!毕竟配置IIS是需要一定的技术的,那么今天小编就给大家普 ...

  7. linux系统rootkit恶意软件安全检测工具rkhunter安装部署、使用详解

    rkhunter简介: 中文名叫"Rootkit猎手", rkhunter是Linux系统平台下的一款开源***检测工具,具有非常全面的扫描范围,除了能够检测各种已知的rootki ...

  8. 小型ssh工具dropbear 安装配置及使用详解

    1.Dropbear介绍     dropbear:小型的嵌入式系统专用的SSH服务端和客户端工具         服务器端:dropbear.dropbearkey         客户端:dbcl ...

  9. 青花瓷抓包工具如何对Android手机https请求抓包及华为手机安装Charles证书方法详解!

    网上搜索了很多文档,这两篇是写的比较全面的,整个流程看完,你就会安装使用了! 参考:windows下使用Charles工具如何对android手机https请求进行抓包 参考:Android安装Cha ...

最新文章

  1. 1024 程序员节 | 请对身边的程序猿好一点
  2. Java算法(两数之和)
  3. 漂亮的HTML表格 - ebirdfighter的日志 - 网易博客
  4. Leetcode 6.Z 字形变换 (每日一题 20210630)
  5. 对 C++ 历史的个人观点
  6. 修改 堆栈大小 普适性方案总结 (跨平台 windows linux 栈设置大小)
  7. 根据最大值和最小值获取对应的单元格值
  8. css中如何实现帧布局_浅谈web前端中的表格布局与CSS盒子布局
  9. JavaScript 中遍历对象的属性 1
  10. 联想 键盘 fn linux,开发者提交补丁,Linux 5.10 或支持联想 PC 键盘快捷键
  11. 《DOOM启示录》读书感
  12. Flixel横板游戏制作教程(三)— AddingWeapons
  13. Java编写杨辉三角
  14. 推荐一款非常好用的效率APP
  15. 使用xshell来操作服务器
  16. R语言基础入门(全)
  17. 惊!brat安装后进行标注-实战,并且通过一行代码自动标注为BIO格式,便于模型训练-and 错误解决
  18. php单独使用laravel数据库 | laravel手动关闭数据库连接
  19. px4驱动linux,S.Bus Driver for Linux
  20. 程雷被机器人_太意外了:49岁知名主持人程雷,得遗传性病和女友终分手!

热门文章

  1. 【多线程】join()和detach()的用法
  2. UML序列图总结(Loop、Opt、Par和Alt)
  3. Java字符串中常见的10个问题
  4. Effective Java读书笔记一:并发
  5. 汇总运行在Hadoop YARN上的开源系统
  6. Taylor泰勒级数
  7. Day 30: Play Framework —— Java开发者的梦想框架
  8. HDU 1848 Fibonacci again and again(博弈)
  9. android版多功能日历,欢迎大家测试
  10. Python正则表达式re模块简明笔记