<o:p> </o:p>
一、 简介
Apache JMeter 是 100 %的 Java 桌面应用程序。用于对软件做压力测试(例如 Web 应用)。 它可以用于测试静态何动态资源例如静态文件、 Java 小服务程序、 CGI 脚本、 Java 对象、数据库, FTP 服务器 , 等等。 JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。
另外, JMeter 能够对应用程序做衰退测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性, JMeter 允许使用正则表达式创建断言。
将来开发的主要目标是使得 JMeter 尽可能地变成一个有用的衰退测试工具,而不损失 JMeter 地压力测试能力。
衰退测试:通过回归测试等方法来保证经过修改的代码没有衰退(质量下降)。
<o:p> </o:p>
二、 安装与配置
JMeter 的安装过程非常简单:
第一步 安装 JDK (这里使用 JDK <st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.5.0</st1:chsdate> )
第二步 下载 JMeter ,并解压
官方下载地址: http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi ,下载
jakarta-jmeter-2.2.zip 包,大小: <st1:chmetcnv w:st="on" unitname="m" sourcevalue="9.52" hasspace="False" negative="False" numbertype="1" tcsc="0"> 9.52M </st1:chmetcnv>
第三步 配置环境变量
JAVA_HOME = …
JMeter = …
CLASS_PATH=”%JAVA_HOME%\bin;%JAVA_HOME%\lib\tools.jar;%JMeter\bin%”
第四步 运行
在命令行运行 jmeter.bat ,出现如下界面,说明安装成功:
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <v:stroke joinstyle="miter"> </v:stroke> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"> </v:f> <v:f eqn="sum @0 1 0"> </v:f> <v:f eqn="sum 0 0 @1"> </v:f> <v:f eqn="prod @2 1 2"> </v:f> <v:f eqn="prod @3 21600 pixelWidth"> </v:f> <v:f eqn="prod @3 21600 pixelHeight"> </v:f> <v:f eqn="sum @0 0 1"> </v:f> <v:f eqn="prod @6 1 2"> </v:f> <v:f eqn="prod @7 21600 pixelWidth"> </v:f> <v:f eqn="sum @8 21600 0"> </v:f> <v:f eqn="prod @7 21600 pixelHeight"> </v:f> <v:f eqn="sum @10 21600 0"> </v:f> </v:formulas> <v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"> </v:path> <o:lock aspectratio="t" v:ext="edit"> </o:lock> </v:shapetype>
<o:p> </o:p>
三、 项目应用
1. 项目需求
模拟 5 个用户并发请求,每个用户请求两次(一次请求结束后,发出下一个请求),得出各个请求样本的响应时间,并得出一些统计性的数据。
2. 建立测试计划
首先,添加一个线程组,如下图:
用户并发数为 5 ,因为一个用户请求我们可以看作是一个请求线程,所以我们将线程数设置为 5 。这里设置休眠时间为 0 ,循环的次数为 2 。
其次,建立默认的 HTTP 连接属性,这样不用每次都重新输入参数,如下图: <o:p> </o:p>
再次,建立要测试的 Http 请求,如下图
最后,建立查看结果形式,我们采用表格数据记录
<o:p> </o:p> <o:p> </o:p>
3 .运行测试脚本
点击要测试的脚本,然后执行菜单运行 — 》开始,测试开始。
4 .测试数据分析
测试完成之后,数据如下:
聚合数据分析结果如下:
模拟 5 个用户并发访问 http://10.36.32.5:8080/wwwncsl/default.htm 页面,每个用户循环访问一次,总共 10 个样本数据。最大响应时间为 10.355s ,最短响应时间为 2.84s ,平均为 6.572s
90% 的可能集中在响应时间为 10.355s 。