- 浏览: 2509686 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
http://www.ooso.net/archives/522
http://www.cnblogs.com/sunvince/archive/2011/04/07/2037616.html
http://hi.baidu.com/thinkinginlamp/blog/item/f4bd08fa1a03ba9e59ee90fd.html
XHProf是Facebook开源的一个PHP性能检测程序,里面有很多直观的数据来说明问题,比如调用次数、执行时间、内存使用、CPU占用等
编译安装
获取源代码包
root@sourcjoy>
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
解压
root@sourcjoy>
tar zxf xhprof-0.9.2.tgz
root@sourcjoy>
cd xhprof-0.9.2
复制web访问目录到web应用目录
root@sourcjoy>
cp -r xhprof_html xhprof_lib /var/www/html/
#复制xhprof的展示页面目录和库目录到web目录下,可以为xhprof_html建个虚拟目录来访问,也可以把这两个目录拷贝到应用的根目录下。
root@sourcjoy>
cd extension/
编译插件
root@sourcjoy>
/usr/local/webserver/php/bin/phpize
root@sourcjoy>
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
root@sourcjoy>
make
root@sourcjoy>
make install
注意:这里安装的时候可能会出现访问php.ini没权限的问题,请把php.ini的权限改成666:
chmod 666 /usr/local/webserver/php/etc/php.ini
配置 php.ini 文件
root@sourcjoy>
vi /usr/local/webserver/php/etc/php.ini
在合适位置加入以下内容:
[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=<directory_for_storing_xhprof_runs>
xhprof.output_dir=/var/logs/xhprof
重启web服务器
为了更加清晰显示程序执行、调用结构,安装Graphviz,如果安装了Graphviz,XHProf会用比较牛的图形方式展现统计数据。
获取源码包
root@sourcjoy>
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz
root@sourcjoy>
tar zxf graphviz-2.24.0.tar.gz
root@sourcjoy>
cd graphviz-2.24.0
编译安装
root@sourcjoy>
./configure
root@sourcjoy>
make
root@sourcjoy>
make install
接下来在要统计的php应用中加入以下语句:
xhprof_enable();
//统计的代码部
分之前加,如果要显示CPU占用
可以加入XHPROF_FLAGS_CPU参数,内存是XHPROF_FLAGS_MEMORY,如果两个一起:XHPROF_FLAGS_CPU +
XHPROF_FLAGS_MEMORY,如:xhprof_enable(XHPROF_FLAGS_CPU +
XHPROF_FLAGS_MEMORY);
xhprof_disable(); //统计的代码部分之后加
这样xhprof就可以统计当前页面的函数性能情况了。xhprof会把每次访问加入统计代码的页面的性能统计结果在指定目录下生成一个文件,文件名命名方式为:本次访问的系统ID.命名空间,每次刷新页面都会重新生成一个文件,每个的系统ID都不同。
然后通过xhprof_html目录的http访问url来查看结果。如:http://app/xhprof_html/?run=运行id&source=命名空间(其中运行ID和命名空间可以根据xhprof生成的文件名来确定)
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); //require_once ($yii); //Yii::createWebApplication($config)->run(); $xhprofData = xhprof_disable(); Yii::import('application.components.monitor.xhprof.XhprofLib'); Yii::import('application.components.monitor.xhprof.XHProfRunsDefault'); $xhprofRuns = new XHProfRunsDefault(); $runId = $xhprofRuns->saveRun($xhprofData, 'test');
以yii为例子访问方式如下:
http://test/index.php?r=xhprof/default/index
http://test/xhprof_html/?run=4f263128d1bf6&source=test&all=1
(4f263128d1bf6是随机生成的文件名)
说明:
1. Inclusive Time :包括子函数所有执行时间。
2. Exclusive Time/Self Time:函数执行本身花费的时间,不包括子树执行时间。
3. Wall Time:花去了的时间或挂钟时间。
4. CPU Time:用户耗的时间+内核耗的时间
5.Inclusive CPU:包括子函数一起所占用的CPU
6.Exclusive CPU:函数自身所占用的CPU
上图更直观些:
评论
//require_once ($yii);
//Yii::createWebApplication($config)->run();
$xhprofData = xhprof_disable();
Yii::import('application.components.monitor.xhprof.XhprofLib');
Yii::import('application.components.monitor.xhprof.XHProfRunsDefault');
$xhprofRuns = new XHProfRunsDefault();
$runId = $xhprofRuns->saveRun($xhprofData, 'test');
这段代码放到index.php文件里吗
?
提示找不到这个类 XHProfRunsDefault.
发表评论
-
设置sudo为不需要密码
2015-04-17 09:04 10456有时候我们只需要执 ... -
haproxy 安装配置和负载实例
2015-03-27 11:49 11487一、环境说明实验环境 OS CentOS5.4 192.1 ... -
/dev/mapper/VolGroup00-LogVol00 100% 如何处理
2015-03-03 10:51 8094服务器磁盘跑满了, 命令查看 如下 [root@lo ... -
Tsar开源:淘宝内部大量使用的系统监控工具
2014-08-07 09:51 919Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告 ... -
wamp 升级php apache mysql
2014-02-18 14:30 1134wamp对于日常开发来说会增添非常大的方便 但是对于集成 ... -
Linux运维常用命令 (转载)
2013-01-31 10:23 24821 删除0字节文件find-type f - ... -
linux恢复 rm -rf 删除的文件:extundelete
2013-01-24 15:47 8858http://blog.csdn.net/pang6013 ... -
网站排障分析常用的命令
2013-01-21 18:17 1342------------------------------- ... -
迁移vmware服务器后Device eth0 does not seem to be present
2013-01-21 10:58 2198用VMware 安装 linux 6.0 ... -
LoadRunner如何监控Linux系统资源 : rpc.rstatd
2012-12-17 14:49 10213一 简述:LoadRunner监控Linux资源时弹出如下错误 ... -
僵尸Z进程和D进程
2012-12-10 16:47 13067-------------- 1 关于ZOMBIE进 ... -
Unix操作系统硬链接与符号链接的区别
2012-12-10 16:08 1963Unix操作系统有很多值得 ... -
nagios配置参数详解
2012-12-04 14:12 9377# Nagios return codes#定 ... -
nagios自定义监控nginx php和ip_conn
2012-12-03 17:57 3119自定义ip_conn.sh :http://zhume ... -
【汇总】shell show收藏
2012-11-29 14:03 1220================== shell从文本取对应的 ... -
Kickstart+PXE+DHCP+TFTP+NFS自动安装Centos5
2012-11-29 11:34 1556http://5ydycm.blog.51cto.com/11 ... -
haproxy+keepalived高可用负载均衡(七层)
2012-11-29 10:36 3954HAproxy是一款基于TCP( ... -
LVS+Keepalived
2012-11-29 10:10 1688http://www.linuxvirtualserver.o ... -
haproxy & LVS*(keepalived和heartbeat) & ng的比较
2012-11-29 10:04 7514http://network.51cto.com/art/ ... -
运维架构师-并不遥远的彼岸
2012-11-28 17:45 1700在百度里搜索运维架构师,你会发现招聘的职位还不少并且月薪、年 ...
相关推荐
里面是windows xhprof的测试工具,包括测试工具,画图软件,代码修改和测试工具部署。注意的是自己php的版本我这里是5.5的
本文实例分析了PHP性能测试工具xhprof安装与使用方法。分享给大家供大家参考,具体如下: xhprof概述: XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用...
xhprof由facebook开源出来的一个PHP性能监控工具,占用资源很少,甚至能够在生产环境中进行部署。 它可以结合graphviz使用,能够以图片的形式很直观的展示代码执行耗时。 下面主要讲一下安装和使用过程 1、安装 ...
XHProf是Facebook开源的php性能分析工具,是php的一个扩展。windows平台可以通过此链接下载,同时还需下载制图工具Graphviz,最后去github下载相关的代码(只需xhprof_html、xhprof_lib、examples)。
xhprof 是facebook开源出来的一个php性能测试工具,也可以称之为profile工具,这个词不知道怎么翻译才比较达意。跟之前一直使用的xdebug相比,有很多类似之处。以前对xdebug有一些记录还可以供参考,但是它的缺点是...
项目即将上线,想通过一些工具来分析代码的稳定性和效率,想起在上个团队时使用过的xhprof扩展;因为换了新电脑,所以需要重新编译此扩展,现将安装与实际排查过程完整记录下来,方便自己回顾和帮助更多的读者。 ...
PHP Profile工具:通过xhprof收集性能信息,查看方法执行过程的路径及耗时情况。作为PHP测试工具,PHPRay并不提供类似PHPUnit的自动化测试功能,也没有代码覆盖率的要求,更多的是通过执行待测试的方法和在控制台...
ydb 是像gdb一样的php调试工具,用扩展实现,可以在运行过程中查看变量值,也可以进行性能测试,而不用对源代码进行任何更改,就像xdebug和xhprof 中提供的功能,但使用更方便 ydb也可以称为一个在线调试工具,...
最近写了一个异步mysql客户端的封装,想与传统的串行方式做下性能对比。包括运行时间、内存使用情况等信息。在github和packagist上搜索并没有找到自己想要的,xhprof又太大了,结果也太复杂,不符合现在的需要。所以...
Profiling能够深入程序的内部,展现request处理过程中每一部分代码的性能;同时,也可以确定有问题的请求(request);对于有问题的请求,我们还可以确定性能问题发生在请求内部的位置。对于PHP,我们有多种...