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

Fly to the Sky!

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

 
 
 

日志

 
 

压力测试工具Grinder  

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

  下载LOFTER 我的照片书  |
Grinder是一个开源的Java负载测试框架,它通过很多负载注射器来为分布式测试提供了便利。

  ● 支持用于执行测试脚本的Jython脚本引擎。

  ● HTTP测试可通过HTTP代理进行管理。

  该项目主页:

  http://grinder.sourceforge.net/

  详细资料,软件下载,请浏览上面的主页

  工具的使用:

  第一步:设置环境变量

  下载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参数了。
选择要分发到客户端的脚本 > 分发脚本 > 测试执行中 >结果.

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


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

历史上的今天

评论

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

页脚

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