window wamp下xhprof的安装使用,Graphviz配置
在新的工作安排下来前赶紧把手上工作优化下,本来是靠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:
<?php
/*
* Set the absolute paths on your system
*/
define('ERROR_FILE', 'e:/wamp/logs/xhprof_dot_errfile.log');
define('TMP_DIRECTORY', 'e:/wamp/tmp/xhprof/tmp/');
define('DOT_BINARY', 'd:/Program Files/Grafika/Graphviz/bin/dot.exe');
?>
==》改成:
<?php
/*
* Set the absolute paths on your system
*/
define('ERROR_FILE', 'e:/wamp/logs/xhprof_dot_errfile.log');
define('TMP_DIRECTORY', 'e:/wamp/tmp/xhprof/tmp/');
define('DOT_BINARY', 'd:/Program Files/Grafika/Graphviz/bin/dot');
?>
多了个“.exe”,太误导人了!
window wamp下xhprof的安装使用,Graphviz配置的更多相关文章
- window环境下glog的安装
window环境下glog的安装 分类: c++2014-09-23 14:12 32人阅读 评论(0) 收藏 举报 下载后解压,利用Visual Studio打开google-glog.sln.生成 ...
- CentOS下通过yum安装svn及配置
CentOS下通过yum安装svn及配置 1.环境centos5.5 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata s ...
- Linux下的GitHub安装与简单配置教程 ~ 转载
Linux下的GitHub安装与简单配置教程 1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...
- window系统下sbt的安装
最近进了一个新公司,用playframework,不用maven,用sbt,然后就来写一下自己的心酸sbt安装进程吧. 第一步: 安装java8,配置好环境变量,这些不用多说吧,之所以是要8版本,是因 ...
- Window环境下RabbitMQ的安装和配置教程
一.安装 首先,RabbitMQ基于Erlang语言环境,所以需要先安装Erlang. Erlang下载地址:http://www.erlang.org/downloads 按照安装程序默认安装完成就 ...
- windows系统下简单nodejs安装及环境配置
相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置 相信 ...
- Windows下node.js安装及环境配置
1. 安装 官网下载node.js的安装版,一路next,中间可以自定义安装路径 完成后安装目录内容如下 cmd下检查是否安装成功 新版Node.js已自带npm,所以安装Node.js时会一起安装, ...
- CentOS下Java的安装与环境配置
网上的文章很多,但我还是不知道下次需要看谁的,或是给朋友推荐谁的,索性我都整理出来,方便下次需要的时候能很快的看到或是给朋友链接.两种安装方式:解压安装和包安装 1.安装前检查: 因为安 ...
- 在wamp下PHP5.5安装php-redis扩展
windows下开发用的xampp集成的环境,想装个php-redis扩展,扩展的github地址: https://github.com/nicolasff/phpredis 描述里找到window ...
随机推荐
- 使用CNN(convolutional neural nets)关键的一点是检测到的面部教程(四):学习率,学习潜能,dropout
第七部分 让 学习率 和 学习潜能 随时间的变化 光训练就花了一个小时的时间.等结果并非一个令人心情愉快的事情.这一部分.我们将讨论将两个技巧结合让网络训练的更快! 直觉上的解决的方法是,開始训练时取 ...
- JS编程
JS编程常识 一.UI层的松耦合 松耦合就是要求各层遵循“最少知识原则”,或者说是各层各司其职,不要越权: HTML:结构层 CSS:表现层 JS:行为层 对于各层的职能,有一句比较贴切的解释:H ...
- 私人定制javascript中函数小知识点
函数的定义 首先在javascript中,函数就是对象,程序可以随意操控它们.比如,可以给它们设置属性,甚至调用它们的方法.函数使用function关键字来定义.它既可以用在函数定义表达式,也可以用在 ...
- NEFUOJ 500 二分法+最大流量
http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=500 description 在这个信息化的时代.网购成为了最流行的购物方 ...
- 通过EA导入数据库存在表结构并生成文档
通过EA导入数据库存在表结构并生成文档 慕课网,程序员升职加薪神器,点击免费学习 目录[-] 导入数据源,表结构 生成表结构的文档 Enterprise Architect 是超级强大项目管理功能 ...
- .net cookie
HttpCookie HttpRequest HttpResponse 这3个 类 . 之间的关系 . 请求 ,相应 都有一个 public HttpCookieCollection Cooki ...
- 网页动态切换母版页(MasterPage)
原文:网页动态切换母版页(MasterPage) 是否可以变更网页的母版页(MasterPage)呢?某.aspx在创建时,已经附加入某一母版页(MasterPage)了,现需要.aspx动态变更母版 ...
- windows phone开发-Webbrowser使用技巧
原文:windows phone开发-Webbrowser使用技巧 5月份开发了脸萌WP版,其中需要使用web技术来绘制图像,于是就使用了原生webbrowser控件.在使用webbrowser co ...
- IS2009制作Oracle 静默安装包(一)感谢空白先生特许授权
原文:IS2009制作Oracle 静默安装包(一)感谢空白先生特许授权 上一篇: MyEclipse中消除frame引起的“the file XXX can not be found.Please ...
- php rsa 加密、解密、签名、验签
由于对接第三方机构使用的是Java版本的rsa加解密方法,所有刚开始在网上搜到很多PHP版本的rsa加解密,但是对接java大多都不适用. 以下php版本是适用于对接java接口,java适用密钥再p ...