window wamp下xhprof的安装使用,Graphviz配置

       起因:本地一个网站后台登陆的时候特别卡,卡的我心烦,点击登陆要等待好久,肉眼我还真看不出哪里有毛病,祭出神器来监测下,看看到底哪里卡!最后找到原因是file_put_contents函数,因为请求了淘宝IP地址库的远程接口导致缓慢。因为是我本地缓慢,我的解决办法:判断是127.0.0.1直接return返回,不请求接口,如果线上缓慢可以把请求到的结果缓存到文件或内存,下次碰到同样的ip直接从缓存取出。

淘宝IP地址库http://ip.taobao.com/instructions.php

附上缓慢现场图:

blob.png

blob.png

1、下载

下载在这里 http://windows.php.net/downloads/pecl/releases/xhprof/0.10.6/

需要下载两个文件 XHProf 0.10.3 for PHP 5.4 vc9  xhprof_html 注意区分是否nts,在phpinfo()页面 Thread Safety是enabled 一般就是ts版,否则就是nts版了

2、安装

把XHProf 0.10.3 for PHP 5.4 vc9里面的dll文件重命名为 php_xhprof.dll 放在php的ext目录下,然后在php.ini配置里面加入配置(不要忘记创建对应的文件夹)

[xhprof]
extension=php_xhprof.dll
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
xhprof.output_dir="d:/wamp/logs/xhprof_log"

重启你的wamp即可,看看phpinfo()里面有没有xhprof

blob.png

3、使用

xhprof_html.zip 这个文件解压出来配置成站点

blob.png

D:\wamp\www\xhprof\examples\sample.php   demo文件,可以参考里面代码来使用。
// start profiling
xhprof_enable();

// run program
这里执行你的代码,我是代码段,我在运行,运行。。。。。。

// stop profiler
$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";
$xhprof_runs = new XHProfRuns_Default();
// save the run under a namespace "xhprof_foo"
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");

运行之后在D:\wamp\logs\xhprof_log目录下会生成文件。

访问地址 http://你的域名/index.php?run=58b022aca68ad&source=xhprof_foo 就能看到记录的结果了。 58b022aca68ad 代表$run_id

blob.png

点击 blob.png 能查看图片形式的结果,需要安装Graphviz。

地址:http://www.graphviz.org/Download_windows.php  下载.msi文件安装即可。

安装好之后需要配置D:\wamp\www\xhprof\config.php  DOT_BINARY常量的路径要跟刚才安装的对应起来,到这里应该就可以生成图形了。

图形生成链接 http://你的域名/callgraph.php?run=58b022aca68ad&source=xhprof_foo

附上参数解释:

· funciton name : 函数名

· calls: 调用次数

· Incl. Wall Time (microsec): 函数运行时间(包括子函数)

· IWall%:函数运行时间(包括子函数)占比

· Excl. Wall Time(microsec):函数运行时间(不包括子函数)

· EWall%:函数运行时间(不包括子函数)


评论

  1. 青椒
    青椒

    已读

    回复