文档章节

分层PHP性能分析工具--xhprof

刘纪君
 刘纪君
发布于 2013/03/31 21:29
字数 571
阅读 211
收藏 0

xhprof的安装是很简单,记录下其在php函数中的使用代码别让自己给忘记了:

 

public static function startXhprof() 
    { 
        if (function_exists('xhprof_enable')) { 
            xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); 
        } 
    }

 

 

    public static function showXhprof() 
    { 
        if (function_exists('xhprof_enable') && function_exists('xhprof_disable')) { 
            self::$_xhprofData = xhprof_disable(); 
            include_once "/data/cap/xhprof/xhprof_lib/utils/xhprof_lib.php";   //加载xhprof包
            include_once "/data/cap/xhprof/xhprof_lib/utils/xhprof_runs.php";   
            $xhprof_runs = new XHProfRuns_Default();   
            $run_id = $xhprof_runs->save_run(self::$_xhprofData, "xhprof_info"); 
            echo '<br/><center><a target="_blank" href="'.Config::$xhprofDomain.'/index.php?run=' . $run_id . '&source=xhprof_info"'
                .' style="color:red;">查看xhprof状态</a></center><br />'; 
        }
    } 

}

备注:在你查看图表性能可能会出现:

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

这是因为你没有安装GraphViz,只需要安装下就可以了!

安装很简单:yum install 'graphviz*'

如下图:

 

主要指标:
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% 函数执行本身花费的时间的百分比,不包括子树执行时间

# 消耗CPU
Incl. 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% 峰值百分比


  令更详细的介绍:

http://www.neatstudio.com/archives/?article-1363.html

© 著作权归作者所有

共有 人打赏支持
刘纪君
粉丝 29
博文 133
码字总数 59637
作品 0
郑州
高级程序员
加载中

评论(2)

简单同学
简单同学
failed to execute cmd: " dot -Tpng".
这句话的意思是 没有命令权限.
把php.ini文件里的disable_functions
部分函数,禁用打开就可以
简单同学
简单同学
failed to execute cmd: " dot -Tpng".
这句话的意思是 没有命令权限.
把php.ini文件里的disable_functions
部分函数,禁用打开就可以
xhprof:php性能分析工具

XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。 2. 安装好xhprof后,需要配置php.ini [xhprof] extension = xhprof.so xhpr...

kavi
2012/04/30
0
0
PHP性能分析工具-xhprof扩展安装

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

wbf961127
2017/11/12
0
0
php性能监测模块XHProf

linux 一,什么是XHProfXHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。一个函数的开销,可细分成调用者和被调用者的开销,X...

zhouyuan24
2013/03/26
0
2
[PHP]函数级分层性能分析工具-Xhprof的安装与使用

PHP性能分析工具-Xhprof的安装与使用 XHProf 是一个轻量级的分层性能测量分析器。 XHProf 包含了一个基于 HTML 的简单用户界面(由 PHP 写成)。 基于浏览器的用户界面使得浏览、分享性能数据结...

王永濤
2016/09/12
55
0
php性能分析工具xhprof

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

xiaoyuan234
07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

shell特殊符号、cut、sort、uniq、wc、tee、tr、split命令

10月15日任务 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 cut 命令 cut作用:截取字符串 用法如下:cat /etc/passwd |head -2 |cut -d ...

hhpuppy
10分钟前
0
0
Springboot实现filter拦截token验证和跨域

背景 web验证授权合法的一般分为下面几种 1使用session作为验证合法用户访问的验证方式 使用自己实现的token 使用OCA标准 在使用API接口授权验证时,token是自定义的方式实现起来不需要引入其...

funnymin
45分钟前
1
0
linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
1
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
13
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部