目录结构
一.测试需求
二.测试步骤1.添加线程组
2.添加websocket open connection
3.设置QPS限制
4.添加监听器
5.运行脚本
6.监听器的各种报告视图分析
一、测试需求
需求:测试10000个用户并发连接websocket服务器QPS负载达到1200时的平均响应时间
1.添加线程组
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.添加websocket open connection
配置参数:
(1)有ws与wss之分, ws前缀是WebSocket连接的辨别标识,wss前缀是WebSocket安全连接的辨别标识。根据自己的实际情况填写
(2)Server Name or IP:WebSocket发送的目标服务器的地址或者名称
(3)Port:WebSocker服务器监听的端口号。(一般是HTTP 80端口,可以通过WireShark数据包得到)
(4)path:路径参数
3.设置QPS限制
Constant Throughput Timer属性:
4.添加监视器
JMeter使用监听器手机取样器记录的数据,并以可视化方式呈现。
如:聚合报告,可更为直观查看测试结果
5.运行脚本
6.聚合报告分析
熟悉 LoadRunner 的朋友一定不会对其 TPS(每秒事务数)、TRT(事务响应时间) 等视图感到陌生,因为这是压力测试最为关键的两个指标。
JMeter 以其开源、轻巧、灵活、扩展性高等特性赢得了广大测试从业人员的青睐,但是它没有像 LoadRunner 那样提供一个 TPS、TRT 之类的视图,虽然聚合报告也能说明一些整体以及实时的问题,但是就整体趋势、实时平均值走向、稳定性报告方面
7.添加线程组 -> 添加 -> 监听器 -> [email protected] Transaction per Second。某次压测实际效果图:
8.添加TRT视图
线程组 -> 添加 -> 监听器 -> [email protected] Response Times Over Time。某次压测实际效果图
PS:
以上响应时间的单位为:毫秒(ms)