注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Fly to the Sky!

很多人因为寂寞而错爱一个人,更多人因为错爱一个人而寂寞一生。

 
 
 

日志

 
 

用Grinder进行性能测试  

2009-07-16 10:39:50|  分类: grinder |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

第一步:设置环境变量
下载Grinder,并解压. Download page: http://grinder.sourceforge.net/download.html

设置系统环境变量:
GRINDERPATH=grinder的完整路径
CLASSPATH=%GRINDERPATH%\lib\grinder.jar
(在grinder的目录下新建一个目录叫properties并在该目录下新建文件grinder.properties)
GRINDERPROPERTIES=%GRINDERPATH%\properties\grinder.properties
有关配置文件请参考:http://grinder.sourceforge.net/g3/properties.html


第二步:如何启动Console和Agent process
设置好环境变量后就可以启动grinder了,grinder分为三个部分,分别是控制台(console)、代理进程(agent processes)和HTTP代理(HTTPProxy)
启动的命令分别为:
Console:java -cp %CLASSPATH% net.grinder.Console
Agent process:java -cp %CLASSPATH% net.grinder.Grinder %GRINDERPROPERTIES%
控制台不会去读grinder.properties配置文件,它有自己的设置会话窗口,你可用它设置会话地址和端口。控制台可以触发测试脚本,然后代理进程会产生工人线程进行测试。

Agent process启动后会自动连接控制台,相当于客户机连接服务器,所有的代理进程由控制台统一控制,所以控制台只能启动一个,但代理进程可以启动多个并位于不同的机器上。控制台可以指定所有代理进程使用的测试脚本,如果控制台没有指定代理进程要使用的测试脚本,代理进程会去读取自己本地的grinder.properties配置文件中指定的脚本执行测试。
有关测试脚本的编写请参考:http://grinder.sourceforge.net/g3/tutorial-perks.html


第三步:使用TCP代理生成测试脚本:
如果你想创建一个用于网站或WEB工程的测试脚本,可以使用TCP代理。Grinder的TCP代理简单的说就是截获用户在浏览器的操作,然后将其记录成脚本供测试使用。
启动代理的命令如下:
java -cp %CLASSPATH% net.grinder.TCPProxy -console -http > grinder.py
-console参数会显示一个简单的控制窗口,用于使TCP代理可以干净的关闭。这是必要的,要为一些终端的shell不允许JAVA进程干净的中断。
这条命令会启动Grinder的HTTP代理并在当前目录生成脚本文件,文件名为grinder.py。
启动后控制台会输出如下信息:
07-4-2 11:33:36 (tcpproxy): Initialising as an HTTP/HTTPS proxy with the
parameters:
Request filters: HTTPRequestFilter
Response filters: HTTPResponseFilter
Local address: localhost:8001
07-4-2 11:33:37 (tcpproxy): Engine initialised, listening on port 8001


我们可以看到,其默认端口为8001,接下来我们设置浏览器的代理:
在IE中打开设置窗口:Tools -> Internet Options -> Connections -> Local Area Network Settings->advanced... 按上面控制台输出的信息填入代理。(IE7可能操作步骤略有不同)
设置好之后清除IE的缓存,并将缓存大小设为最小,且选中每次都重新读取页面。

然后打开你要测试的网站或工程,你的操作会被自动记录到当前目录的grinder.py脚本中。


第四步:开始测试
一旦你记录了测试脚本,你有二种方法执行:
1、 你可以在每个Agent process的本地grinder.properties文件中用grinder.script参数指定要执行的脚本。例:
grinder.script = grinder.py
2、 你可以在控制台分发你的脚本到每个Agent process, 然后运行。每个Agent process仍然需要其本机上的简单grinder.properties文件,只是不用指定grinder.script参数了。
选择要分发到客户端的脚本 > 分发脚本 > 测试执行中 >结果.

如果有需要,你可以手工更改生成的脚本文件。

  评论这张
 
阅读(1206)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017