Jmeter测试实验报告

时间:2024.4.21

江西理工大学软件学院

计算机类课程

实验报告

课程名称:     软件测试           

班    级:     软件测试121    

姓    名:    温鹏辉             

学    号:     12224111           

一、实验目的:

运用Jmeter进行一个简单web测试

二、实验条件

   下载并安装Jmeter软件(地址:http://jmeter.apache.org/

本次Jmeter为2.2版本,JDK为1.7版本)。

   Jmeter主要测试组件说明:

   1. 测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。

2. 线程组:代表一定数量的并发用户,可以用来模拟并发用户的发送请求。实际的请求内容再sampler中定义,它被线程组包含,可以在测试计划-->添加-->线程组来建立,在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。线程组是为模拟并发负载而设计。

3. 取样器(Sampler):模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。如:HTTP请求

4.监听器:负责收集测试结果,同时也被告知了结果显示的方式。功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。如:用表格察看结果,图形结果
   5.断言:用于来判断请求响应的结果是否如用户所期望,是否正确。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。
   6.定时器:负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求。
   7. 逻辑控制器:允许自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
   8.配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。
   9. 前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

本次实验以某教育网站新闻页面为测试用例:(http://www.jxust.cn/view/5128/)

三、实验步骤

   1、运行Jmeter。

   2、添加线程组:测试计划>>添加>>Threads(users)>>线程组

      参数设置:

     

   3、添加HTTP请求:线程组>>添加>>Sampler>>HTTP请求

       参数设置:

4、点击保存按钮。

5、点击运行按钮。

6、添加用表格察看结果、图形结果:HTTP请求>>用表格察看结果

HTTP请求>>图形结果

用表格察看结果:

图形结果:

以上是一个简单web压力测试步骤。

四、实验总结

    在本次的简单实验中,我们初步地掌握了Jmeter的简单web测试应用,让我们对压力测试有一个初步的了解,能让我们在今后的学习中具有一定的基础,能更好地进行进一步得学习;关于Jmeter测试的其他应用,我们以后要慢慢了解、学习,如果有机会希望可以为Jmeter测试软件贡献自己的力量。


第二篇:如何建立和使用Jmeter测试环境


如何建立和使用Jmeter测试环境(初学者)

2008-06-24 17:51

一、 工具描述

apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性、度量被测试软件的性能。设计jmeter的初衷是测试web应用,后来又扩充了其它的功能。jmeter可以完成针对静态资源和动态资源(servlets, perl脚本, java对象, 数据查询s, ftp服务等)的性能测试。 jmeter可以模拟大量的服务器负载、网络负载、软件对象负载,通过不同的加载类型全面测试软件的性能。并且jmeter提供图形化的性能分析。

二、 使用环境

JMeter可以运行在solaris, linux, windows (98, nt, 2000,2003). jdk1.4以上。本文章主要介绍使用JMeter测试windows环境的web server 和DB server的环境搭建步骤,以及使用Jmeter进行压力测试的入门。

三、 软件下载

JDK1.5 /javase/downloads/index.jsp

Apache tomcat 5.5 /download-55.cgi jakarta-jmeter-2.2 /site/downloads/downloads_jmeter.cgi sqljdbc_1.1.1501.101_enu.exe /downloads/details.aspx?FamilyId=6D483869-816A-44CB-9787-A866235EFC7C&displaylang=en

四、 JDK安装

下载jdk-1_5_0_09-nb-5_0-win-ml.exe,这接点击默认安装,一般安装至C:\Program Files\Java目录下。

桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”--->“新建”, 在变量名中输入:CLASSPATH,变量值中输入:C:\Program

Files\Java\jdk1.5.0_09\lib\dt.JAR; C:\Program

Files\Java\jdk1.5.0_09\lib\TOOLS.JAR; C:\Program

Files\Java\jdk1.5.0_09\BIN;再按“新建”,在变量名中输入:JAVA_HOME,变量中输入:C:\Program Files\Java\jdk1.5.0_09;修改PATH变量,添加%JAVA_HOME%/bin;然后确定即可;

五、 Apache tomcat安装

下载apache-tomcat-5.5.20.exe直接点击按照默认路径安装,一般安装在C:\Program Files\Apache Software Foundation\Tomcat 5.5路径下即可。

六、 Jmeter安装

解压jakarta-jmeter-2.2.zip文件至c盘,本文解压至C:\jakarta-jmeter-2.2目录下。

桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”--->“新建”, 在变量名中输入:JMETER_HOME,变量值中输入:C:\jakarta-jmeter-2.2 ,再修改CLASSPATH变量,变量值中添

加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 然后确定即可。

七、 安装SQLJDBC驱动

因为需要测试ms sql 2005,所以需要安装SQLJDBC驱动,可以直接下载

sqljdbc_1.1.1501.101_enu.exe,点击可以直接解压到C:\Program Files目录下,然后修改添加CLASSPATH =C:\Program Files\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.0\enu\sqljdbc.jar,然后确定即可。

一般还需要将目录下的C:\Program Files\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.1\enu\auth\x86\sqljdbc_auth.dll拷贝到

C:\WINDOWS\system32 ,否则会提示找不到sqljdbc_auth.dll。

另使用JDBC连接MS SQL 2005数据库,需要在数据库安装后设置ICP/IP协议启动,具体如下:

(1)打开SQL Server Configuration Manager;

(2)转到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS;

(3)将TCP/IP设置为Enabled(启用);

(4)双击TCP/IP项,转到IP Addresses页

(5)IP All中设置TCP Port为1433;

(6)重新启动服务;

如何正确使用 JDBC 驱动程序,可以参见: /zh-cn/library/ms378526.aspx

至此,Jmeter测试环境基本安装完成,该环境可以测试web server和DB server(MS SQL2005)。

八、 分布式Web server压力测试设置

作为一个纯 java 的gui应用,jmeter 对于cpu和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起java内存溢出的错误。不过,jmeter 也可以像 loadrunner 一样通过使用多台机器运行所谓的 agent 来分担 load generator 自身的压力,并借此来获取更大的并发用户数。根据 jmeter官方文档的署名,你需要自己完成这个配置,不过不用担心,这将非常简单 ^_^

1.在所有期望运行 jmeter 作为 load generator 的机器上安装 jmeter,并确定其中一台机器作为 controller,其他的机器作为 agent。然后运行所有 agent 机器上的jmeter-server.bat文件——假定我们使用两台机器 192.168.0.1 和 192.168.0.2 作为 agent;

2.在controller 机器的 jmeter 安装目录下找到 bin 目录,再找到

jmeter.properties 这个文件,使用记事本或者其他文字编辑工具打开它;

3.在打开的文件中查找“remote_hosts=”这个字符串,你可以找到这样一行“remote_hosts=127.0.0.1”。其中的 127.0..0.1 表示运行 jmeter agent 的机器,这里需要修改为

“remote_hosts=192.168.0.1:1099,192.168.0.2:1099”——其中的 1099为 jmeter 的 controller 和 agent 之间进行通讯的默认 rmi 端口号;

4.保存文件,并重新启动 controller 机器上的 jmeter.bat,并进入 run -> remote start 菜单项。

在具体实施过程中,需要注意设置好PATH系统环境变量,否则会出现提示找不到rmiregistry.exe,这是RMI注册程序,在JDK的bin目录下。还要注意保证1099端口没有被禁用。

可以参见:

/guides/content.asp?g=java&seqNum=274&rl=1

九、 JDBC Connection Configuration

在测试DB server性能的时候,正确设置数据库URL和JDBC驱动类,一般如下设置:

Database URL :

jdbc:sqlserver://192.166.6.37:1433;databaseName=jia_online;

JDBC Drive class:com.microsoft.sqlserver.jdbc.SQLServerDriver Username和password是打开数据库的用户名和密码。

注意:请正确安装SQLJDBC驱动。

JMeter的主要测试组件!

2008-06-25 09:39

Apache jmeter是100%纯java桌面应用程序,它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP 服务器等等。JMeter可以用来模拟一个在服务器、网络或者对象上大的负载来测试或者分析在不同的负载类型下的全面性能。(来自官方网站)

1、测试计划中的元件

1.1 线程组

线程组元件是任何一个测试计划的开始点。在一个测试计划中的所有元件必须在某个线程组下。顾名思义,线程组元件控制JMeter执行你的测试计划时候使用的线程数。对线程组的控制允许你:

设置线程数

设置ramp-up period

设置测试要执行的次数

每个线程都会完全独立的运行测试计划,互补干扰。多线程用于模拟对服务器的并发访问。

ramp-up period 指示JMeter用于达到全部选择的线程的时间。如果选择了10个线程,并且ramp-up period是100妙,那么JMeter将使用100秒钟使10个线程启动并运行。每个线程将在前一个线程启动后10(100/10)秒后启动。如果有30个线程并且ramp-up period是120秒,那么相继的线程将间隔4秒。 缺省情况下,线程组被配置为不确定的循环执行它下面的元件。另外,你可以设置线程组在结束前循环的次数。如果次数设置为1,那么 JMeter在停止前只执行测试计划一次。

1.2监听器

监听器负责收集测试结果,同时也被告知了结果显示的方式

1.2.1理解聚合报告

Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

Median:中位数,也就是 50% 用户的响应时间

90% Line:90% 用户的响应时间

Note:关于 50% 和 90% 并发用户数的含义,请参考下文

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per

Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,每秒吞吐量

2、JMeter 的主要测试组件如下:

2.1、测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。

2.2、 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。

2.3、监听器负责收集测试结果,同时也被告知了结果显示的方式。

2.4、逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

2.5、 断言可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。

2.6、 配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。

2.7、 前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

2.8、 定时器负责定义请求之间的延迟间隔。

更多相关推荐:
jmeter性能测试报告

快乐农家网站压力测试报告一测试简介1测试环境测试人测试时间20xx年9月13日服务器IP192168079客户端内存R4CPU160GHz测试工具Jmeter232测试内容二测试说明1名词定义时间的单位均为ms...

JMeter测试报告

JMeter测试报告1使用memcache缓存的压测结果并发600持续时间60秒2使用redis缓存并发400持续60秒并发500持续60秒并发600持续60秒并发1000持续60秒Label每个JMeter的...

jmeter实验报告

一安装过程Jmeter实验报告学号20xx7923班级09级计算机二班姓名郭丹1Jmeter的安装在装jmeter之前要装JDK因为jmeter是纯java的桌面应用用于压力测试和性能测量它最初被设计用于Web...

Jmeter测试报表相关参数说明

Jmeter测试报表相关参数说明发布时间20xx3091549作者testing来源cnitblog字体小中大上一篇下一篇打印我要投稿每周一问答贴有奖采用Jmeter测试工具对web系统作的负载测试得出的响应报...

利用jmeter搭建测试环境

1234安装JDK14以上安装apachetomcat安装jmeterJMeter针对不同的Web应用测试可能还需要SSL加密JDBC驱动ApacheSOAP以及BeanShell等包1使用badboy录制脚本...

jmeter测试(badboy脚本)

JMeter是一款在国外非常流行和受欢迎的开源性能测试工具像LoadRunner一样它也提供了一个利用本地ProxyServer代理服务器来录制生成测试脚本的功能但是这个功能并不好用所以在本文中介绍一个更为常用...

Jmeter性能测试工具详细使用说明

1用户组配置2Cookie管理器Domino会话Session名称DomAuthSessId利用Httpwatch获取登录DominoEKP系统后保持与服务器会话连接的Cookie名称为DomAuthSessI...

如何建立和使用Jmeter测试环境

如何建立和使用Jmeter测试环境初学者20xx06241751一工具描述apachejmeter是100的java桌面应用程序它被设计用来加载被测试软件功能特性度量被测试软件的性能设计jmeter的初衷是测试...

jmeter安装与使用教程 性能测试模块

安装转开源java压力测试工具JMeter安装文章分类Java编程首先非常感谢blogjava的小蚂蚁他的文章给了我很大的帮助他的文章已经写分非常详细我这里直接转载过来然后再对可能引起疑问的地方进行注释转自li...

JMeter的数据库压力测试配置步骤

JMeter数据库压力测试1增加测试计划打开JMeter增加一个测试计划2设置并发用户数在测试计划上增加一个并发的线程组用于并发用户数和测试策略3设置JDBC连接在线程基础上增加一个JDBC连接设置继续在线程组...

使用 JMeter 完成常用的压力测试

使用JMeter完成常用的压力测试本文介绍了JMeter相关的基本概念并以JMeter为例介绍了使用它来完成最常用的三种类型服务器即Web服务器数据库服务器和消息中间件压力测试的方法步骤以及注意事项讲到测试人们...

使用 JMeter 完成常用的压力测试

使用JMeter完成常用的压力测试本文介绍了相关的基本概念并以JMeter为例介绍了使用它来完成最常用的三种类型服务器即Web服务器数据库服务器和消息中间件压力测试的方法步骤以及注意事项讲到测试人们脑海中首先浮...

jmeter测试报告(9篇)