websocket的测试方案
一、测试目的
检查多用户在线发送数据时,对系统的压力情况,根据测试数据估算出
在线用户数、活跃用户数、并发用户数
二、测试客户机配置
第一台PC:
操作系统:Windows7 64位
处理器:Intel(R) Core(TM) i3 cpu m 350 @ 2.27GHz (2 CPUs) ,~2.3GHz
内存:4096MB RAM
硬盘:87.5G
第二台PC:
操作系统:Windows7 64位
处理器:Intel(R) Core(TM) i5 cpu m 350 @ 2.27GHz (4 CPUs) ,~2.3GHz
内存:4096MB RAM
硬盘:11.78G
三、 需测试进程ws_connector CPU、MEM占用情况
CPU%:0.3--0.7
MEM%:3.0
四、测试工具
工具 | 版本 | 厂商 | 作用 |
Jmeter | 4.0 | Apache | 模拟用户环境 |
五、测试数据准备
1.CVS文件:发送数据中模拟不同真实的msgId
2.发送的数据及格式:
{"action":"ad/fetchSource","header":{"reply":"Y"},"msgId":"ca18bfcd-39c2-4648-a74a-b3db65d3e259","payload":"{"clientTimeStamp":1563242931033,"placement":"native"}"}
3. 返回的参考数据及格式
{"msgId":"ca18bfcd-39c2-4648-a74a-b3db65d3e259","resultCode":0,"resultMsg":"","payload":"[{"adSource":"baidu","adSdkKey":"a664e1869200059c6d66fa2db6d21cef","adUnitId":"164757","clickStatus":"Y","placement":"native"}]"}
六、输出参考指标
Average:请求的平均响应时间。Request的平均响应时间
Median:中位数,也就是50%用户的响应时间
90%Line:90%用户的响应时间
Min:最小的响应时间
Max:最大的响应时间
Error%:错误率,本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量。默认情况下表示每秒完成的请求数,吞吐量=请求数/总时间
Received KB/sec:每秒从服务器端接收到的数据量,即:收到的千字节每秒的吞吐量测试
Sent KB/sec:每秒从客户端发送的请求的数量,即:发送的千字节每秒的吞吐量测试KB/sec:每秒数据包流量,单位是KB
七、测试策略步骤
1.测试目前客户端能发起的最大的连接数,观察服务器的资源和客户机资源情况并记录
2.将客户端与服务器的连接持续10分钟左右的时间,期间一直发送请求消息,观察服务器的资源情况并记录
3.在第2步的基础上,用另外一台客户机发起单个连接请求,然后保持连接10分钟左右,期间一直发送请求消息,观察服务器的资源情况并记录
4.两个客户端同时对服务器发起多个连接请求,并发送请求消息,加压持续10分钟左右,观察服务器的资源情况并记录
5.生成测试报告