亲自在win7下安装xhprof
博客专区 > webphp 的博客 > 博客详情
亲自在win7下安装xhprof
webphp 发表于3个月前
亲自在win7下安装xhprof
  • 发表于 3个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

最近发现在以往的工作中php项目做的很多。具体的压力测试没有做过,今天感兴趣做一下项目的压力测试,选用Facebook的轻量级调试工具xhprof,和Xdebug相比xhprof更加易用和可控.尤其是生成流程图和调试数据对比的功能很好很强大。但是在网上找了一堆都是在linux服务器上运行的。可以在本地开发的时候有需要用调试的时候不可能一下就搬到linux服务环境之上的,所以就在本地进行按装,先下载适合于win7 上的xhprof的dll文件。 具下载地址: (以下为xhprof的dll文件,根据本地php版本选择以下两种的xhprof的任意一种,以下两种都是win7 32位,如果需要64位的自行在网上查找一下) php_xhprof_0.10.0_PHP_5.3.3_VC6_x86_Thread_Safe具体是支持php5.3.3,正好本地的php环境是wamp的集成环境。 链接: http://pan.baidu.com/s/1sjNoOVF 密码:wu50 xhprof-0.10.3-PHP-5.4-vc9-ts.zip是支持php5.4下载地址如下: 链接: http://pan.baidu.com/s/1ntC7CEX 密码:w1i5 以下为要测试站点的目录下要生成的报告,xhprof_html要放在测试站点的根目录下 下载xhprof_html这个文件放到测试站点的根目录下,下载地址: 链接: http://pan.baidu.com/s/1gdkt8LP 密码:90so 1、解压以后复制到php的安装目录下ext目录,可以看到这个目录下的文件,都是php一些扩展的dll文件,xhprof的原理和这些一样 2、修改php.ini文件,具体要加入以下代码
extension=php_xhprof.dll
[xhprof]
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
xhprof.output_dir="D:/wamp/www/xhprof"#(这个根据自己的方便自行设置,可以自己配置生成的报告的位置)
3、重启所有的服务 4、然后通过运行phpinfo(),查看是否有xhprof,如果有,就标示成功了   5、xhprof_html.zip 这个文件解压到你想测试的网站根目录就好了 现在网站一般使用的是框架,唯一入口这点最好了,直接在index.php里面写就好了
xhprof_enable();//开始
//此部分为框架的程序代码
$xhprof_data = xhprof_disable();//结束,然后写入文件,注意目录
$XHPROF_ROOT = realpath(dirname(__FILE__).'/xhprof');
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();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
echo "<a href='http://zhihui.sibo.com/xhprof/xhprof_html/?run=$run_id&source=xhprof_foo'>分析</a>";
//这里的zhihui.sibo.com换成你自己的域名就好了,这是我在本地自己解析的一个站点域名
以下为xhprof的缩写
Inclusive Time 包括子函数所有执行时间。
Exclusive Time/Self Time 函数执行本身花费的时间,不包括子树执行时间。
Wall Time 花去了的时间或挂钟时间。
CPU Time 用户耗的时间+内核耗的时间
Inclusive CPU 包括子函数一起所占用的CPU
Exclusive CPU 函数自身所占用的CPU
可是运行以后老是报错:查找原因为xhprof目录下的config.php的路径有问题,还有就是graphaiz 生成结构图的工具没有安装
<?php
/*
 * Set the absolute paths on your system
 */
define('ERROR_FILE', 'd:/wamp/logs/xhprof_dot_errfile.log');
define('TMP_DIRECTORY', 'd:/wamp/tmp/xhprof/tmp/');
define('DOT_BINARY', 'C:/Program Files/Graphviz2.38/bin/dot.exe');
?>
备注内容:因为xhprof在生成调试信息的时候,要生成一个利用graphviz生成一个结构图,如果本地没有安装graphviz,则要安装graphviz. 百度搜索中输入"graphviz",即可找到该工具的官方网站。 http://www.graphviz.org/ 点击download 点击选中的红色部分 下载成功以后安装 最后附上xhprof的结果说明 表单中的:
列名 描述
Function Name 方法名称。
Calls 方法被调用的次数。
Calls% 方法调用次数在同级方法总数调用次数中所占的百分比。
Incl.Wall Time (microsec) 方法执行花费的时间,包括子方法的执行时间。(单位:微秒)
IWall% 方法执行花费的时间百分比。
Excl. Wall Time (microsec) 方法本身执行花费的时间,不包括子方法的执行时间。(单位:微秒)
EWall% 方法本身执行花费的时间百分比。
Incl. CPU (microsecs) 方法执行花费的CPU时间,包括子方法的执行时间。(单位:微秒)
ICpu% 方法执行花费的CPU时间百分比。
Excl. CPU (microsec) 方法本身执行花费的CPU时间,不包括子方法的执行时间。(单位:微秒)
ECPU% 方法本身执行花费的CPU时间百分比。
Incl.MemUse (bytes) 方法执行占用的内存,包括子方法执行占用的内存。(单位:字节)
IMemUse% 方法执行占用的内存百分比。
Excl.MemUse (bytes) 方法本身执行占用的内存,不包括子方法执行占用的内存。(单位:字节)
EMemUse% 方法本身执行占用的内存百分比。
Incl.PeakMemUse (bytes) Incl.MemUse峰值。(单位:字节)
IPeakMemUse% Incl.MemUse峰值百分比。
Excl.PeakMemUse (bytes) Excl.MemUse峰值。单位:(字节)
EPeakMemUse% Excl.MemUse峰值百分比。
 
共有 人打赏支持
粉丝 2
博文 88
码字总数 90487
×
webphp
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: