0
点赞
收藏
分享

微信扫一扫

JMeter性能测试基础实战之QPS检测过程解析

目录结构

一、测试需求

二、测试步骤

   1.添加线程组

   2.添加HTTP请求

   3.设置QPS限制

   4.添加监视器

   5.运行脚本

   6.聚合报告分析


一、测试需求

需求:测试20个用户访问Baidu首页(https://www.baidu.com),当负载达到30QPS时的平均响应时间。

QPS:Query Per Second,每秒查询率。是一台查询服务器每秒能够处理的查询次数,经常用QPS来衡量域名系统服务器性能。

以下先对整个测试流程作梳理,然后再作具体的实战检测:


二、测试步骤

1.添加线程组

JMeter性能测试基础实战之QPS检测过程解析_服务器

Thread Group

Thread Group(线程组),主要包含以下3个参数:

1)线程数:Number of Threads(users),虚拟用户数

1个虚拟用户占用1个进程or线程,需要多少个虚拟用户就设置对应数量的线程数。

2)准备时长:Ramp-Up Period(in seconds),表示设置的虚拟用户数全部启动所需的时间

如:线程数=20个,准备时长=10s ==> 20/10=2 (个/s),即每秒启动2个线程

3)循环次数:Loop Count,每个线程发送请求的次数

如:线程数=20个,循环次数=5次 ==> 总请求数目=20×5=100 (个)

PS:若勾选"forever",则线程会一直发送请求,直至选择停止运行脚本

2.添加HTTP请求

JMeter性能测试基础实战之QPS检测过程解析_服务器_02

添加HTTP Request

JMeter性能测试基础实战之QPS检测过程解析_响应时间_03

HTTP Request--Basic

JMeter性能测试基础实战之QPS检测过程解析_服务器_04

HTTP Request--Advanced

HTTP Request 配置参数

位置

参数名

配置说明

​顶部通栏​




Name

名称。用于标识一个取样器,建议使用一个有意义的名称


Comments

注释。对于测试没有影响,仅用于记录用户可读的注释信息

​Basic​



Web Server

Protocol

协议。默认为http协议


Server Name or IP

服务器名称/IP。表示HTTP请求发送的目标服务器名称/IP地址


Port Number

端口号。目标服务器的端口号,http请求默认端口为80,https请求默认端口为443

HTTP Request

Method

请求方法。发送HTTP请求的方法,如:GET、POST、PUT、OPTION、TRACE、DELETE


Path

路径。目标URL路径(不包括服务器地址和端口),如http//127.0.0.18001/dvwa/的Protocol为http,Server Name为127.0.0.1,端口8001,Path为/dvwa/


Content encoding

内容的编码方式,默认值为ISO8859


Redirect Automatically

自动重定向。选中则表示,当发送HTTP请求后若响应为301/302,Jmeter会自动重定向到对应的新页面,但不会记录重定向的请求和响应内容


Follow Redirects

跟随重定向。默认选中,表示响应为301/302时,会自动跳转到目标页,Jmeter会记录重定向过程中的所有请求和响应


Use KeepAlive

保持连接状态。默认选中此项,表示Jmeter和目标服务器之间使用Keep-Alive方式进行HTTP通信


Use multipart/form-data for POST

发送POST请求时,使用multipart/form-data方法发送


Browser-compatible headers

浏览器头部兼容设置


Parameters

通请求一起发送的URL参数。对于带参数的URL,可将所有参数设置在该表中,每一行代表一个参数值对


Body Data



Files Upload

同请求一起发送的文件。在请求中发送文件,HTTP文件上传可通过此方式模拟

​Advanced​



Client implementation

Implementation

客户端实现:HttpClient4、Java

Timeouts(ms)

Connect

连接超时时间(ms)


Response

响应超时时间(ms)

Embedded Resources from HTML Files

Retrieve All Embedded Resources

从HTML文件获取所有的有内容资源。默认不选中,若选中则表示发出请求后获得响应的HTML文件内容,会对该HTML进行分析并获取其中的所有资源(图片、flash…)


Parallel downloads.Number



URLs must match

获取页面中特定的资源。根据正则表达式获取匹配的资源

Source address

IP/Hostname



Device



Device IPv4



Device IPv6


Proxy Server

Server Name or IP

代理服务器的服务器名称/IP


Port Number

端口号


Username



Password


Optional Tasks

Save response as MD5 hash

记录服务端响应数据MD5值,不记录完整的响应数据(适用于大数据量测试时可减少取样器记录响应数据的成本)


3.设置QPS限制

JMeter提供了一个非常有用的定时器,常数吞吐量定时器(Constant Throughput Timer),可控制给定的取样器发送请求的吞吐量

JMeter性能测试基础实战之QPS检测过程解析_服务器_05

image.png

JMeter性能测试基础实战之QPS检测过程解析_线程组_06

Constant Throughput Timer属性

属性名称

取值or选项

配置说明

Name


定时器名称

Comments


注释

​Delay before each affected sampler​



Target throughput

(in samples per minute)


目标吞吐量(请求数/60s)。实际填写数值为:QPS×60 [请求数/s]

Calculate Throuthput based on


吞吐量所依赖的计算方式


this thread only

控制每个线程的吞吐量。此时,[总吞吐量=每线程吞吐量×线程数]


all active threads

将设置的目标吞吐量分配在每个活跃的线程(同一时刻同时运行的线程,可能分布在不同的线程组)上,每个活跃线程在上一次运行结束后等待和合理的时间后再次运行


all active threads in current thread group

将设置的目标吞吐量分配在当前线程组每个活跃的线程上(若Test Plan中只有1个线程组,则此时和All active threads选项的效果一致)


all active threads(shared)

每个活跃线程都会在所有活跃线程(分布在所有线程组)上一次运行结束后等待合理的时间后再次运行


all active threads in current thread group(shared)

每个活跃线程都会在所有活跃线程(分布在当前线程组)上一次运行结束后等待合理的时间后再次运行


4.添加监视器

JMeter使用监听器手机取样器记录的数据,并以可视化方式呈现。

如:聚合报告(Aggregate Report),可更为直观查看测试结果

JMeter性能测试基础实战之QPS检测过程解析_线程组_07

JMeter性能测试基础实战之QPS检测过程解析_线程组_08


5.运行脚本

RUN(Ctrl+R)

JMeter性能测试基础实战之QPS检测过程解析_服务器_09


6.聚合报告分析

JMeter性能测试基础实战之QPS检测过程解析_线程组_10

Term

Definition

Label

Jmeter中元件的Name属性值

Samples

本次测试一共发出的请求数

(如:模拟10个用户,每个用户循环6次,则总请求数=10×6=60)

Average

平均响应时间(ms)。默认情况是每个Request的平均响应时间;

若使用Transaction Controller,则表示每个Transaction显示的平均响应时间

Median

响应时间的中位数。表示50%用户的响应时间

90%Line

90%用户的响应时间

Min

最小响应时间

Max

最大响应时间

Error%

出现错误的请求数占比[(错误请求数/请求总数)×100%]

Throughput

吞吐量。默认表示每秒完成的请求数(Request per second);

若使用Transaction Controller,则表示每秒处理的事务数(Transaction per second)

Received KB/sec

每秒从服务端接收到的数据量

Sent KB/sec

每秒向服务端发送的数据量

PS:

以上响应时间的单位为:毫秒(ms)



JMeter性能测试基础实战之QPS检测过程解析_服务器_11


举报

相关推荐

0 条评论