Jmeter压力测试入门

1 新建测试计划

启动Jmeter,点击 File ->New,新建测试计划

2 添加 Thread Group,控制模拟多少用户

右键点击 Test Plan > Add > Threads(Users) > Thread Group

这里写图片描述

线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数

  1. Number of Threads(users): 一个用户占一个线程, 200个线程就是模拟200个用户

  2. Ramp-Up Period(in seconds): 设置线程需要多长时间全部启动。如果线程数为200 ,准备时长为10 ,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程。

  3. Loop Count: 每个线程发送请求的次数。如果线程数为200 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为200*10=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。

3 添加HTTP Request,构造请求

右键点击 Thread Group > Add > Sampler > HTTP Request

取样器(Sampler)是与服务器进行交互的单元。一个取样器通常进行三部分的工作:
1. 向服务器发送请求
2. 记录服务器的响应数据
3. 记录相应时间信息

这里写图片描述

一个HTTP请求有着许多的配置参数,下面将详细介绍:

公共选项卡
  1. Name:本属性用于标识一个取样器,建议使用一个有意义的名称。
  2. Comments:对于测试没有任何作用,仅用户记录用户可读的注释信息。
Basic 选项卡
  1. Protocol : 向目标服务器发送HTTP请求时的协议,可以是http或者是https ,默认值为http 。
  2. Server Name or IP :HTTP请求发送的目标服务器名称或IP地址。
  3. Port Number:目标服务器的端口号,默认值为80 。
  4. Method:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
  5. Path:目标URL路径(不包括服务器地址和端口)
  6. Content encoding :内容的编码方式,默认值为iso8859
  7. Rediret Automatically:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。
  8. Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。
  9. Use multipart/from-data for POST :当发送 POST 请求时,使用Use multipart/from-data方法发送,默认不选中。
  10. Parameters : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 name=value)。
  11. Body Data: 直接写文本格式作为参数
  12. Files Upload:在请求中发送文件,通常,HTTP文件上传行为可以通过这种方式模拟。
Advanced 选项卡:
  1. Embedded Resources from HTML Files:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行Parse 并获取HTML中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match 文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。
  2. Save response as MD5 hash :选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。

4 添加统计报表

右键点击 Thread Group > Add > Listener > Aggregate Graph
这里写图片描述

5 运行测试

这里写图片描述

聚合报告的解释:
Label :各个模拟测试的名称
Samples :各个测试的样本总数
Average :每个请求的平均响应时间
Median :中值,即50%请求的平均响应时间
90% Line :90%请求的响应时间
Min :最小响应时间 ,Max :最大的响应时间
Error% :错误响应的概率。即无法响应的概率。
ThroughPut :吞吐量 – 默认情况下表示每秒完成的请求数(Request per Second)。
KB/Sec :每秒从服务器端接收到的数据量。

6 使用参数

6.1 新建参数文件,内容如下

[ahcj@localhost jmeter-test]$ vim /home/ahcj/jmeter-test/params.csv

Hello,Beijing
Welcome,Shanghai
Beautiful,Anhui
Nice,Liuan

6.2 添加参数文件到测试计划

右键点击 Thread Group > Add > Config Element > CSV Data Set Config
填写如下内容

Filename: /home/ahcj/jmeter-test/params.csv
Variable Names: hello,city

随后可以使用${hello} ${city} 引用 csv文件第一列和第二列内容

这里写图片描述

6.3 添加 View Results Tree

右键点击 Thread Group > Add > Listener > View Results Tree

6.4 修改 Http Request

修改 Http Request 中的 Path为

/baidu?wd=${hello}+${city}

重新运行,可以看到我们发出的请求已经携带了自定义参数

这里写图片描述

猜你喜欢

转载自blog.csdn.net/risen16/article/details/78004053