国外设计欣赏网站 - DOOOOR.com

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

[Drupal优化/SEO/环境] Drupal/PHP性能分析、程序分析或者程序剖析工具之xDebug

[复制链接]
发表于 4-20-2012 20:38 | 显示全部楼层 |阅读模式

Profiling/Profiler,可以译为性能分析、程序分析或者程序剖析,是分析代码、查找问题以及解决程序性能问题中最常用的方法,大多程序语言都有相应的Profile工具或API方法,PHP中最常用的分析工具有,xdebug、xhprof,以及APD (Advanced PHP Debugger)。本文就xdebug的profiling功能做一下简要介绍,关于xhprof和APD会在后续博文中介绍。

xdebug的功能很多,比如断点调试,trace错误等等,还有就是profiling功能,它可以记录一个PHP请求的所有执行过程,然后通过相应的工具就可以查看其执行的具体细节,比如函数的执行顺序,消耗时间等等。

开启xdebug的profiling功能

第一步,安装xdebug,一般用pecl安装即可,或者用apt/yum工具,windows下找对于的dll文件。
第二步,配置文件。

zend_extension=/usr/lib64/php/modules/xdebug.so2 c2 d: H1 Z3 i8 V3 ~8 A% z
#注意修改路径 lib64 lib32等
8 l  a$ e% V; Y8 S$ h0 b% b3 k 
2 f, w/ l- v$ K2 p. Kxdebug.profiler_enable_trigger = 1
" i2 B  }: _8 _+ _" K' Y' _8 F3 r#通过在URL中传递参数XDEBUG_PROFILE来激活profiling,比如index.php?XDEBUG_PROFILE
% D3 D* N2 Y' E3 R; Rxdebug.profiler_output_dir=/tmp/xdebug/
$ ]8 C$ ?4 E7 {% t: H+ c- A#确保文件夹存在,该位置是profiler输出文件的位置。
3 E1 Z/ \9 }) `0 `$ A& W8 V* @#xdebug会生成名为cachegrind.out.xxx类型的文件,该文件可以用相应的工具打开来查看程序的profiling。

完成之后,重启服务器,然后在参数中添加XDEBUG_PROFILE来打开profiling,比如Drupal的首页

http://www.example.com/index.php?XDEBUG_PROFILE

接下来,我们到/tmp/xdebug文件夹下面查看是否生成了profiling文件,windows下可以用wincachegrind,linux下可以使用kcachegrind,还有web版的webgrind,wincachegrind和kcachegrind都很简单,打开对应的out文件即可,本文就跨平台的webgrind做一下简要介绍。

WebGrind

项目首页http://code.google.com/p/webgrind/

下载webgrind,放置到web服务器目录下面,然后打开config.php文件,找到如下两行,修改为正确的值:

static $storageDir = '/tmp/storage';- i: t" t+ j0 m$ q3 [8 A
static $profilerDir = '/tmp/xdebug';

然后通过浏览器访问webgrind,比如 http://www.example.com/webgrind/index.php

Drupal PHP WebGrind Profiler

最后可以给webgrind加个访问限制,如

AuthName "Only user access:"9 \. d+ C' G0 e& W8 V7 e4 H8 E
AuthType Basic
. l/ n- U. g6 E+ n- X2 t8 x9 uAuthUserFile /var/www/html/www.example.com/html/profiler/.htpasswd
3 u6 U5 X# d; V# S$ @require valid-user

WinCacheGrind地址
http://sourceforge.net/projects/wincachegrind/

KCacheGrind地址

http://kcachegrind.sourceforge.net/html/Home.html


声明: 本站所有文章欢迎转载,所有文章未说明,均属于原创,转载均请注明出处。 
本文有效链接: http://www.drupal001.com/2012/02/drupal-php-profiling-xdebug-xhprof/ 
版权所有: Drupal与高性能网站架构 http://www.drupal001.com

|2011-2026-版权声明|平台(网站)公约|手机版|手机版|DOOOOR 设计网 ( 吉ICP备2022003869号 )

GMT+8, 11-12-2025 00:15 , Processed in 0.184736 second(s), 65 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表