论坛首页 Java企业应用论坛

用Grinder进行性能测试

浏览 7771 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-13  

第一步:设置环境变量
下载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参数了。
选择要分发到客户端的脚本 > 分发脚本 > 测试执行中 >结果.

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

 

(更多信息请看附件,内附图片讲解。)

   发表时间:2008-04-15  
我怎么没有成功呢?
可以详细说明 怎么记录脚本吗?
0 请登录后投票
   发表时间:2008-04-18  
配置好代理后,你在浏览器作的操作会被自动记录成脚本。
0 请登录后投票
   发表时间:2008-05-12  
我出来的文件总是空的 代理我配置好了 无论我在浏览器做什么 脚本文件都是空的 
不知道是什么原因? 求教
0 请登录后投票
   发表时间:2008-05-12  
比之LoadRunner如和?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics