博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP性能分析 xhprof
阅读量:5903 次
发布时间:2019-06-19

本文共 2153 字,大约阅读时间需要 7 分钟。

hot3.png

安装wget http://pecl.php.net/get/xhprof-0.9.4.tgztar zxf xhprof-0.9.4.tgz//将xhprof-0.9.4下的xhprof_html和xhprof_lib复制到项目目录下cd xhprof-0.9.4/extension/#phpize./configure --with-php-config=/usr/local/php/bin/php-config#make#make install
配置:[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=
;调试信息的保存路径,创建目录/tmp/xhprofxhprof.output_dir=/tmp/xhprof
if(extension_loaded('xhprof')){    xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);}//PHP Code//........if(extension_loaded('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";    $objXhprofRun = new XHProfRuns_Default();    $run_id = $objXhprofRun->save_run($data, "xhprof");    var_dump($run_id);}----------------------------------------------------------------------------会在上面设定的xhprof.output_dir目录里生成名字类似49bafaa3a3f66.xhprof_foo的数据文件,可以很方便的通过Web方式浏览效果:访问地址:http://test.cm/xhprof/xhprof_html/index.php?run=49bafaa3a3f66结果分析主要指标:Inclusive Time (或子树时间):包括子函数所有执行时间。Exclusive Time/Self Time:函数执行本身花费的时间,不包括子树执行时间。Wall时间:花去了的时间或挂钟时间。CPU时间:用户耗的时间+内核耗的时间# 如果xhprof_enable函数写作:xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY)可以输出更多指标。Function Name 函数名Calls 调用次数Calls% 调用百分比# 消耗时间Incl. Wall Time (microsec) 调用的包括子函数所有花费时间 以微秒算(一百万分之一秒)IWall% 调用的包括子函数所有花费时间的百分比Excl. Wall Time (microsec) 函数执行本身花费的时间,不包括子树执行时间,以微秒算(一百万分之一秒)EWall% 函数执行本身花费的时间的百分比,不包括子树执行时间# 消耗CPUIncl. CPU(microsecs) 调用的包括子函数所有花费的cpu时间。减Incl. 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% 峰值百分比

 

转载于:https://my.oschina.net/u/992626/blog/533121

你可能感兴趣的文章
java的深拷贝与浅拷贝
查看>>
程序员如何提高工作效率
查看>>
promise
查看>>
将Java应用部署到SAP云平台neo环境的两种方式
查看>>
数据批量导入Oracle数据库
查看>>
调用lumisoft组件发邮件 不需要身份验证 不需要密码
查看>>
DW 正则
查看>>
抓屏原理
查看>>
UNIX网络编程读书笔记:TCP输出、UDP输出和SCTP输出
查看>>
扩展 DbUtility (1)
查看>>
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
查看>>
Apple Developer Registration and DUNS Number Not Accepted
查看>>
Hadoop学习笔记系列文章导航
查看>>
SpringMVC中ModelAndView addObject()设置的值jsp取不到的问题
查看>>
Prometheus : 入门
查看>>
使用 PowerShell 创建和修改 ExpressRoute 线路
查看>>
在C#中获取如PHP函数time()一样的时间戳
查看>>
Redis List数据类型
查看>>
大数据项目实践(四)——之Hive配置
查看>>
初学vue2.0-组件-文档理解笔记v1.0
查看>>