jmeter快速上手(二)http步进压测

http压测是web工程里面最常见的压测,经常会测试TPS、响应时间、吞吐量等。

一、基本测试

1、打开jmeter,右击测试计划,点击添加-->线程-->线程组。

弹出页面如下:

各参数解释如下: 
(1) 线程数:虚拟用户数,起多少个线程。 
(2)Ramp-Up Period(秒):设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。 
(3)循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么将会发送10*100=1000次请求。如果勾选了“永远”,那么所有线程会一直发送请求,直到点击停止。 
(4) 延时创建线程直到需要:延时指定时间以后开始创建线程,几乎不会用到。 
(5)调度器:设置线程组启动的持续时间和启动延迟(配置调度器时,需要勾选循环次数为永远) 。

2、右击线程组,点击添加-->取样器-->http请求。

在服务器或IP中填写:www.baidu.com,其他可以不写,方法是GET请求。如果是自己的服务器,在相应位置填写IP和端口号,如果需要传值,可以单击下方的添加。需要添加目录的在路径中添加。具体的url可以直接在浏览器中复制过来。

3、添加监听器
取样器是发送请求的,监听器是查看结果以及我们需要查看的各项指标。右击测试计划,点击添加-->监听器,即可看到不同的监听器。可以重复点击添加 察看结果树、汇总报告、聚合报告、Transactions per Second(TPS)等等,具体内容可以运行看看就明白了,主要包括返回结果、响应时间、TPS、吞吐量等等。

4、运行、察看
设置完毕线程数、取样器和监听器以后,就可以点击菜单栏中的运行进行测试了,运行完毕以后,可以点击各项监听器查看结果。察看结果树中,依次点击 取样结果、请求、相应数据可以看到报文头、请求格式、返回信息等数据。其他监听器试试就明白了。

二、步进压测

1、添加步进线程组
在压测TPS的时候,我们需要不断改变线程数量,如果使用线程组的方式,需要一次一次修改,很麻烦。jmeter提供了一个步进线程组件,关于怎么安装这个插件,可以参考前一篇文章。右击测试计划,点击添加-->线程-->Stepping Thread Group。

在取样器错误后要直行的动作,可以选择继续、启动下一进程、停止线程等。
各参数解释如下:
This group will start:最大启动线程数,这里设为100。
First, wait for:延时多少时间启动线程,一般都是设为0。
Then, start:开始启动线程数,即在最开始线程数是不是从0开始,这里设不设置都可以。如果觉得50个并发(线程)肯定达不到瓶颈,不想浪费时间,这里可以设为50,即测试并发数在50~100之间的TPS。
Next,add:每次增加的线程数,即步进线程数。这里设为10,即每次加10个并发。
thread exery:多长时间增加一次线程,即步进时间。这里设为30,即每30s增加10个线程。实际使用中一般没必要设置这么大,10~20s就可以了。
using ramp-up:启动线程时间,这里设为5,即5s内启动10个线程,相当于每秒启动两个线程。thread exery是30s,则前5s增加线程,后25s线程数不变,即后面我们可以看到TPS是一个缓慢增加的过程,thread exery的值越大,TPS增加趋势越符合阶梯式。
Then hold load for:增加到最大线程数以后,保持时间。这里设为60,一般也没必要设置这么大,10s左右就可以了。
Finally,stop:停止线程数,停止步长。这里设为5,即每次停止5个线程。
threads every:停止时间步长,这里设为1s,即每秒停止5个线程。最大100个线程,每秒停止5个线程,则需要20s停止所有线程。
最下面是线程阶梯时间图。

2、运行
按照一种所述方法添加TPS和其他监听器,运行即可。
注意:在查看TPS的时候需要和你的线程数量图对比看,确定你已经压到了最大TPS,而不是因为你的最大线程数设置的太小,持续时间太久,导致的最后TPS不变。下图TPS不是上面的压测结果,只是展示,并没有压到最大TPS。

猜你喜欢

转载自blog.csdn.net/haveanybody/article/details/88972577