性能追踪php站点_使用xhprof + graphviz
来源:互联网 发布:冰点文库下载器mac版 编辑:程序博客网 时间:2024/05/18 00:33
就是LAMP,我们可以在php里去监测一下是哪一个php文件执行速度慢,然后把这个文件拿出来看,这样就能看到是哪一个语句慢,然后针对那一条sql语句去进行优化,跟开发的人一说他就会明白!
lnmp架构中,php-fpm.conf里面可以设置慢执行日志
lamp就不行了,需要借助第三方工具了
xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。
Graphviz由一种被称为DOT语言的图形描述语言,可以根据提供的节点以及线生成图形。 xhprof 是可以使用graphviz生成图片的,这样分析的php程序运行过程更加直观。 如果你是centos系统,那么graphviz可以直接通过yum安装,否则就需要源码编译,源码编辑会非常困难,依赖的东西太多了。
1. 安装xhprof
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxvf xhprof-0.9.2.tgz
cd xhprof-0.9.2/
cp -r xhprof_html xhprof_lib /data/web/ #/data/web/为你站点的根目录
cd extension/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
cp modules/xhprof.so /usr/local/php/ext/ #这里假设你的php扩展模块目录在/usr/local/ext/下,这个目录,你可以根据这个命令查找:/usr/local/php/bin/php -i |grep '^extension_dir'
编辑php.ini
vim /usr/local/php/etc/php.ini #加入如下配置:
[xhprof]
extension=xhprof.so
xhprof.output_dir=/data/web/xhprof_data #其中/data/web/是你的网站根目录,xhprof_data目录需要自己手动创建,并赋予777权限
创建目录,更改权限
mkdir /data/web/xhprof_data
chmod 777 !$
重启apache或者重启php-fpm
更改要分析的php程序,假如你要分析的php程序为 index.php ,则在index.php中加入如下内容:
在顶部加入:在底部加入:2. 安装graphviz
yum install -y graphviz
3. 理解xhprof输出
主要的
Inclusive Time (或子树时间):包括子函数所有执行时间。
Exclusive Time/Self Time:函数执行本身花费的时间,不包括子树执行时间。
Wall时间:花去了的时间或挂钟时间。
CPU时间:用户耗的时间+内核耗的时间
表单中的
Function Name 函数名
Calls 调用次数
Calls% 调用百分比
Incl. Wall Time (microsec) 调用的包括子函数所有花费时间 以微秒算(一百万分之一秒)
IWall% 调用的包括子函数所有花费时间的百分比
Excl. Wall Time (microsec) 函数执行本身花费的时间,不包括子树执行时间,以微秒算(一百万分之一秒)
EWall% 函数执行本身花费的时间的百分比,不包括子树执行时间
Incl. CPU(microsecs) 调用的包括子函数所有花费的cpu时间。减Incl. Wall Time即为等待cpu的时间
减Excl. 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% 峰值百分比
0 0
- 性能追踪php站点_使用xhprof + graphviz
- 使用xhprof对php性能追踪分析
- 使用xhprof进行线上PHP性能追踪及分析
- 使用xhprof进行线上PHP性能追踪及分析
- 使用xhprof进行线上PHP性能追踪及分析
- 使用xhprof进行线上PHP性能追踪及分析
- PHP性能追踪及分析工具xhprof的安装与使用
- PHP 性能追踪及分析工具 xhprof 的安装与使用
- PHP性能分析xhprof使用
- PHP - xhprof+Graphviz 安装配置
- PHP - xhprof+Graphviz 安装配置
- xhprof进行线上PHP性能追踪及分析
- PHP 性能分析工具XHProf使用
- PHP性能测试工具XHProf使用详解
- 使用XHProf查找PHP性能瓶颈
- php 性能分析工具xhprof使用简介
- php 性能测试工具 xhprof使用
- 使用XHProf查找PHP性能瓶颈
- Java-多线程
- wordpress 插件 easy video player https://wordpress.org/plugins/easy-video-player/
- IDEA远程调试Hadoop步骤及出错解决整理
- C++内联函数
- C day1 数据类型1
- 性能追踪php站点_使用xhprof + graphviz
- ZOJ1654 Place the Robots
- Java线程:新特征-条件变量
- Kubernetes系列02:Kubernetes配置及参数说明
- (ssl1115)USACO 2.3 货币系统(背包/生成函数)(背包的方案总数)
- 军用软件国家标准
- A + B Problem
- Hopcroft-Karp算法模板(解决二分图最大匹配问题)
- 页面多个setInterval