测试目的:10个用户并发打开百度首页(https://www.baidu.com/),百度能否正常响应。

操作步骤

 

一、打开JMeter

打开后的界面如下:

jmeter压测mongodb性能 jmeter压测方案_jmeter压测mongodb性能

 

二、右击“测试计划”,添加线程组

jmeter压测mongodb性能 jmeter压测方案_jmeter压测mongodb性能_02

 

三、设置线程组的线程数

jmeter压测mongodb性能 jmeter压测方案_线程组_03

 

JMeter中的线程组,类似于LoadRunner中的虚拟用户组,因为我们要测试10个用户并发的情况,所以这里的线程数,要设置为10

 

Ramp-Up Period(in seconds)”的含义是达到最大线程数(这里设置的是10)所需要的时间(单位是秒)。

 

如果我们把Ramp-Up Period设置为100秒,那么JMeter就会在100秒内启动所有10个线程,并让它们运转起来,每隔10秒启动一个新线程。这里我们把Ramp-Up Period设置为1秒。

 

四、右击“线程组”,添加“HTTP请求”

jmeter压测mongodb性能 jmeter压测方案_线程组_04

 

五、设置“HTTP请求”

 

jmeter压测mongodb性能 jmeter压测方案_百度_05

服务器名称或IP:www.baidu.com


  • 协议:https
  • 方法:GET
  • 路径:/

 

六、添加“察看结果树”

jmeter压测mongodb性能 jmeter压测方案_HTTP_06

 

“察看结果树”是用来看测试结果的。

 

至此,测试脚本已经设置完了,我们可以执行一下了,看看当有10个用户并发访问百度首页时,百度能否正常响应。

 

点击“启动”,执行测试脚本,如下:

jmeter压测mongodb性能 jmeter压测方案_jmeter压测mongodb性能_07

 

执行完毕后,在“察看结果树”里面会出现结果,如下:

jmeter压测mongodb性能 jmeter压测方案_jmeter压测mongodb性能_08

在这里面,我们可以看到每个请求的请求数据和响应数据。

 

每个请求都有正确的响应,如下:

jmeter压测mongodb性能 jmeter压测方案_百度_09

 

说明,在10个用户在1秒内并发访问的情况下,百度首页仍然能正确响应。

 

但是在这里,我们会发现,每个请求的响应数据是乱码的,如下:

jmeter压测mongodb性能 jmeter压测方案_HTTP_10

 

这里,我们可以这么设置,如下:

 

右击刚添加的“HTTP请求”,添加后置处理器

jmeter压测mongodb性能 jmeter压测方案_线程组_11

 

在脚本里面输入:

prev.setDataEncoding("UTF-8");如下

jmeter压测mongodb性能 jmeter压测方案_线程组_12

 

再次执行脚本,响应数据就不会乱码了,如下:

jmeter压测mongodb性能 jmeter压测方案_jmeter压测mongodb性能_13

对于需要登录才能使用的接口,有两种方法可以测试:

1. 静态token:通过抓捕工具fiddler或者其它工具,登录用户获取token值,添加http信息头管理器,添加参数:名称(token名称),值(获取到的token值);

2.添加Http Cookie管理器,参数填写登录信息里的sessionID的key和key值,[域]/[路径]这两项可填可不填,如果填写则填写登录的域和路径。

第二种方法也可以什么参数都不填,但在线程组加上登录请求,并且post请求勾选跟随重定向,其他请求不勾选。