jmeter 入门

JMeter最早是为了测试Tomcat的前身JServ的执行效率而诞生的。它的测试能力也不再仅仅只局限于对于Web服务器的测试,而是涵盖了数据库、JMS、WebService、LDAP等多种对象的测试能力。

JMeter的安装非常简单,从官方网站上下载,解压之后即可使用。运行命在%JMETER_HOME%/bin下,对于Windows用户来说,命令是jmeter.bat。

JMeter的主要测试组件总结如下:

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

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

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

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

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

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

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

8.定时器负责定义请求之间的延迟间隔。

AggregateReport[聚合报告]

AggregateReport是JMeter常用的一个Listener。共有10个字段,含义分别如下。

1.Label:每个JMeter的element(例如HTTPRequest)都有一个Name属性,这里显示的就是Name属性的值

2.Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

3.Average:平均响应时间——默认情况下是单个Request的平均响应时间

4.Median:中位数,也就是50%用户的响应时间(ms)

5.90%Line:90%用户的响应时间(ms)

6.Min:最小响应时间

7.Max:最大响应时间

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

9.Throughput:吞吐量——默认情况下表示每秒完成的请求数(RequestperSecond)

10.KB/Sec:每秒从服务器端接收到的数据量

ViewResultsTree[查看结果树]

通过这个Listener,我们可以看到很详细的每个transaction它所返回的结果,其中红色是指出错的transaction,绿色则为通过的。

如果你测试的场景会有很多的transaction完成,建议在这个Listener中仅记录出错的transaction就可以了。要做到这样,你只需要将Log/Display:中的Errors勾中就可以了。

图形结果:

样本数目:总共发送到服务器的请求数。

最新样本:代表时间的数字,是服务器响应最后一个请求的时间。

吞吐量:服务器每分钟处理的请求数。

平均值:总运行时间除以发送到服务器的请求数。

中间值:时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。

偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。

----------------------------------------------------------------------------------

添加线程组:右击测试计划->添加->线程组,线程数为5,Ramp-Up=20,循环次数=3;

用5个线程,这5个线程20秒内启动完,仅做三次。

添加循环控制器:右击线程组->添加->逻辑控制器-->循环控制器

每个线程循环2次,这样就相当与对服务器2*5=10次请求

添加取样器:右击线程组->添加->Sample->HTTP请求,Web服务器127.0.0.1[不要加http了,斜杠等],端口80,协议http,路径/index.jsp;

添加monitor,右击线程组->添加->monitor->图形结果(第二个),然后再添加一个Summaryreportmonitor,然后再添加一个AggregateReport[聚合报告]

相关推荐