在新的工作安排下来前赶紧把手上工作优化下,本来是靠xdebug+grindview来的,不过还是麻烦,就换上这个轻量级的性能测试了。网上搜的大多都是lamp环境下的,wamp下的倒是不多,而且不好用,于是整理了这篇教程。

1.下载在这里 http://dev.freshsite.pl/php-extensions/xhprof.html 如果你下载不下来,可以给16090288@qq.com发邮件,说明版本。

我使用的是wamp 2.2d 32位的 ,这里罗嗦一句,既然用windows的wamp了,就不要装64位了,毕竟都是开发环境,正式环境肯定是32位的

这里下载两个文件 XHProf 0.10.3 for PHP 5.3 vc9.zip xhprof_html.zip

2.安装。 这步骤很简单,把XHProf 0.10.3 for PHP 5.3 vc9.zip里面的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()里面有没有对应的文件

3.使用:

xhprof_html.zip 这个文件解压到你想测试的网站根目录就好了

现在网站一般使用的是框架,唯一入口这点最好了,直接在index.php里面写就好了,我用的是yaf框架

1 <?php
2 xhprof_enable();//开始
3 require 'init.php';
4 require 'conf/db.inc.php';
5 $app new Yaf_Application(BASE_PATH . "/conf/itxiangqin.ini");
6 Yaf_Registry::set('config', Yaf_Application::app()->getConfig());
7 $app->bootstrap()->run();
8 $xhprof_data = xhprof_disable();//结束,然后写入文件,注意目录
9 $XHPROF_ROOT realpath(dirname(__FILE__).'/xhprof');
10 include_once $XHPROF_ROOT "/xhprof_lib/utils/xhprof_lib.php";
11 include_once $XHPROF_ROOT "/xhprof_lib/utils/xhprof_runs.php";
12  
13 // save raw data for this profiler run using default
14 // implementation of iXHProfRuns.
15 $xhprof_runs new XHProfRuns_Default();
16  
17 // save the run under a namespace "xhprof_foo"
18 $run_id $xhprof_runs->save_run($xhprof_data"xhprof_foo");
19 echo "<a href='http://www.pztai.com/xhprof/xhprof_html/?run=$run_id&source=xhprof_foo'>分析</a>";//这里的pztai换成你自己的域名就好了,本地就localhost

还在学习使用中,写上几个缩写的

Inclusive Time 包括子函数所有执行时间。
Exclusive Time/Self Time 函数执行本身花费的时间,不包括子树执行时间。
Wall Time 花去了的时间或挂钟时间。
CPU Time 用户耗的时间+内核耗的时间
Inclusive CPU 包括子函数一起所占用的CPU
Exclusive CPU 函数自身所占用的CPU

以上内容大部分来自于google,我整理的而已,嘿嘿。

如果想要进一步研究,可以参考这篇文章。

============================================

但是我按照上面的最完后点击,

[View Full Callgraph]

总是报错:

( ! ) Warning: file_get_contents(e:/wamp/tmp/xhprof/tmp//d1dede98ac80af3210574c7f7145cfa2.png) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in E:\wamp\www\xhprof\xhprof_lib\utils\callgraph_utils.php on line 192
( ! ) Warning: unlink(e:/wamp/tmp/xhprof/tmp//d1dede98ac80af3210574c7f7145cfa2.png) [<a href='function.unlink'>function.unlink</a>]: No such file or directory in E:\wamp\www\xhprof\xhprof_lib\utils\callgraph_utils.php on line 202

找了半天原来是Graphviz的路径不对:

config.php:

  1. <?php
  2. /*
  3. * Set the absolute paths on your system
  4. */
  5. define('ERROR_FILE', 'e:/wamp/logs/xhprof_dot_errfile.log');
  6. define('TMP_DIRECTORY', 'e:/wamp/tmp/xhprof/tmp/');
  7. define('DOT_BINARY', 'd:/Program Files/Grafika/Graphviz/bin/dot.exe');
  8. ?>

==》改成:

  1. <?php
  2. /*
  3. * Set the absolute paths on your system
  4. */
  5. define('ERROR_FILE', 'e:/wamp/logs/xhprof_dot_errfile.log');
  6. define('TMP_DIRECTORY', 'e:/wamp/tmp/xhprof/tmp/');
  7. define('DOT_BINARY', 'd:/Program Files/Grafika/Graphviz/bin/dot');
  8. ?>

多了个“.exe”,太误导人了!

http://blog.csdn.net/lanbingkafei/article/details/7707382

window wamp下xhprof的安装使用,Graphviz配置的更多相关文章

  1. window环境下glog的安装

    window环境下glog的安装 分类: c++2014-09-23 14:12 32人阅读 评论(0) 收藏 举报 下载后解压,利用Visual Studio打开google-glog.sln.生成 ...

  2. CentOS下通过yum安装svn及配置

    CentOS下通过yum安装svn及配置 1.环境centos5.5 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata s ...

  3. Linux下的GitHub安装与简单配置教程 ~ 转载

    Linux下的GitHub安装与简单配置教程   1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...

  4. window系统下sbt的安装

    最近进了一个新公司,用playframework,不用maven,用sbt,然后就来写一下自己的心酸sbt安装进程吧. 第一步: 安装java8,配置好环境变量,这些不用多说吧,之所以是要8版本,是因 ...

  5. Window环境下RabbitMQ的安装和配置教程

    一.安装 首先,RabbitMQ基于Erlang语言环境,所以需要先安装Erlang. Erlang下载地址:http://www.erlang.org/downloads 按照安装程序默认安装完成就 ...

  6. windows系统下简单nodejs安装及环境配置

      相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置     相信 ...

  7. Windows下node.js安装及环境配置

    1. 安装 官网下载node.js的安装版,一路next,中间可以自定义安装路径 完成后安装目录内容如下 cmd下检查是否安装成功 新版Node.js已自带npm,所以安装Node.js时会一起安装, ...

  8. CentOS下Java的安装与环境配置

    网上的文章很多,但我还是不知道下次需要看谁的,或是给朋友推荐谁的,索性我都整理出来,方便下次需要的时候能很快的看到或是给朋友链接.两种安装方式:解压安装和包安装 1.安装前检查:        因为安 ...

  9. 在wamp下PHP5.5安装php-redis扩展

    windows下开发用的xampp集成的环境,想装个php-redis扩展,扩展的github地址: https://github.com/nicolasff/phpredis 描述里找到window ...

随机推荐

  1. VPS(Virtual Private Server 虚拟专用服务器)[转自百度]

    系统选择 vps上常用的操作系统是linux(有多种发行版).freeBSD,windows server等.一般来说,vps的操作系统不是自由安装的,linux系列vps可以安装多个linux发行版 ...

  2. Cocos2d-x学习笔记(两)Cocos2d-x总体框架

    原创文章.转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38680123 前言 上一节我们简单分析了HelloWorldproje ...

  3. Cocos发育Visual Studio下一个HttpClient开发环境设置

    Cocos2d-x 3.x相关类集成到网络通信libNetwork图书馆project于.这其中包括:HttpClient分类. 我们需要在Visual Studio溶液中加入libNetwork图书 ...

  4. CSharp设计模式读书笔记(18):中介者模式(学习难度:★★★☆☆,使用频率:★★☆☆☆)

    中介者模式(Mediator Pattern):用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互,中介者模式又称为 ...

  5. centos 之7zip

    首先,我得说几句,我第一次进行了实验. 压缩文件夹html rar压缩   成绩5.18M zip压缩  成绩5.06M 7z压缩   成绩870K 第一种,源代码编译安装 官网下载地址:http:/ ...

  6. linux系统管理命令--系统测试工具

    1.tcpdump -n  使用IP地址表示主机,而不是主机名的:使用数字port号码,而不是服务名 -i    指定要监听的网卡接口, "-i any"表示抓取全部网卡接口上的数 ...

  7. jquery 直接调用 wcf,面向服务的SOA架构 ( 第三天)

    所谓万事 具备,只欠东风了!! 接下来就是 wcf 的调用, 首先 在客户端下,随便 写一个 html页面,然后写入如下方法: <script src="scripts/jquery. ...

  8. UVA - 817 According to Bartjens

    Description  According to Bartjens  The wide dissemination of calculators and computers has itsdisad ...

  9. SQL2005性能分析一些细节功能你是否有用到?

    原文:SQL2005性能分析一些细节功能你是否有用到? 我相信很多朋友对现在越来越大的数据量而感到苦恼,可是总要面对现实啊,包括本人在内的数据库菜鸟们在开发B/S程序时,往往只会关心自己的数据是否正确 ...

  10. asp.net web api2.0 ajax跨域解决方案

    asp.net web api2.0 ajax跨域解决方案 Web Api的优缺点就不说了,直接说怎么跨域,我搜了一下,主要是有两种.  一,ASP.NET Web API支持JSONP,分两种 1, ...