第一步:设置环境变量
下载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参数了。
选择要分发到客户端的脚本 > 分发脚本 > 测试执行中 >结果.
如果有需要,你可以手工更改生成的脚本文件。
原文访问地址:
http://www.iteye.com/topic/170783
分享到:
相关推荐
本文将深入探讨十个免费的Web压力测试工具,它们各自的特点、优势与局限性,帮助读者更好地理解和选择适合自身需求的测试工具。 ### 1. Grinder Grinder是一款开源的压力测试框架,基于JVM,通过多线程并发执行...
标题提及的“开源压力测试工具”是指用于检测和评估服务器及Web应用在高并发环境下的性能和稳定性的软件工具。这些工具通常是免费的,并且开放源代码,允许开发者和测试人员进行自定义和扩展。以下是对描述中提到的...
本文将详细介绍一系列免费的Web压力测试工具,帮助开发者和测试人员了解这些工具的功能和适用场景。 1. **Grinder**:Grinder是一款基于JVM的开源压力测试框架,它支持Jython脚本引擎,可以通过HTTP代理进行HTTP...
本文将详细介绍几种常用的压力测试工具,帮助读者理解这些工具的特点和应用场景。 【一、常见的压力测试软件】 1. **YSlow for Firebug**:这是一款与Firefox浏览器集成的插件,它根据Yahoo!的网页性能最佳实践,...
Grinder,一个基于Java的强大性能测试工具,以其灵活性和易用性在IT行业中占据了一席之地。这款开源软件允许开发者进行各种类型的压力测试,包括但不限于软件性能测试和数据库性能评估。其3.2版本更是在原有基础上...
在文档“压力测试.doc”中,可能会详细讲解如何使用The Grinder进行压力测试。压力测试是一种评估系统在极限工作负载下行为的技术,旨在找出系统可能存在的瓶颈,确保其在高并发情况下依然能够稳定运行。文档可能...
Java是一种广泛使用的面向对象的编程语言,具有跨平台、高性能、安全等特性,非常适合开发这样的压力测试工具。Java的多线程能力使其能轻松模拟大量并发请求。 3. **并发模型**: 在Java中,可以通过`Thread`类...
常见的Java压力测试工具有Apache JMeter、 Gatling、Grinder等。它们可以模拟不同的请求类型,如HTTP、HTTPS、JDBC等,生成负载并收集性能指标。 2. **监控**:在压力测试过程中,监控至关重要。它包括CPU使用率、...
了解这些压力测试工具的原理和特点,可以帮助测试工程师在实践中更加有针对性地选择和使用,以确保Web应用能够应对预期的高负载情况,同时为改进性能提供数据支持。在进行Web压力测试时,还需要注意测试环境的搭建、...
Grinder 作为一款强大的测试工具,不仅能够帮助开发者高效地进行性能测试,还能够通过灵活的网络通信机制实现分布式负载测试。通过理解这些基本概念,用户可以更好地利用 Grinder 来优化软件性能。
- **nGrinder**:基于Grinder进一步开发的高性能压力测试工具,具有更加丰富的功能和更佳的用户体验。 #### 二、nGrinder的特点 - **开源性**:遵循Apache License 2.0许可协议,任何人都可以免费下载和使用。 - ...
在负载测试方面,Grinder允许用户模拟大量并发用户对目标系统的访问,以评估系统在高压力下的表现。通过自定义脚本,测试人员可以模拟真实的用户行为,如点击按钮、填写表单等,这使得测试结果更加贴近实际使用情况...
书中全面阐述了性能测试的重要性和实施步骤,同时引入了一个强大的性能测试工具——The Grinder。 性能测试是确保J2EE应用在生产环境中稳定、高效运行的关键环节。它涉及到对系统负载的模拟,以评估系统在不同条件...
- **Microsoft Web Application Stress Tool**:针对Web应用的压力测试工具。 - **Microsoft Application Center Test**:微软提供的自动化测试工具。 - **开源工具**: - **OpenSTA**:开源性能测试工具。 - **...
介绍JMeter、LoadRunner、Grinder工具在性能和安全测试中的应用及常见面试问题。 #JMeter #LoadRunner #Grinder #性能测试 #安全测试 #压力测试 #工具使用 #脚本开发 #监控 #测试报告