性能测试全栈笔记:15.Jmeter参数化CSV进阶-UEC篇
性能测试全栈笔记
十五、Jmeter参数化CSV进阶-UEC篇
引导:
- 前面学习了Jmeter参数化CSV基础篇,对CSV的设置有了一定的了解,今天和大家一起学习一下CSV参数化的进阶内容,分UEC和UEA两个部分,能掌握多少是多少。
- UEC:用登录案例来做(本章节)
- UEA:用注册案例来做(下一章节)
举例说明:
- 协议:HTTP
- IP:192.168.25.152
- 端口:808
接口名称 | 接口类型 | URL | 参数 |
---|---|---|---|
参数为k=v的POST接口 | POST | /pinter/com/login | userName=admin&password=1234 |
运行一下单接口:
察看结果数:
再看一下聚合报告(平均值/90%:7ms):
需求:压测脚本1分钟,看聚合报告的指标情况
思考:压测1分钟,那要准备多少CSV数据?
UEC:登录 1个并发1个请求耗时7ms,1分钟=60秒=60000毫秒,60000/7=8571个请求(并发),10个并发60秒?8571*10=85710(条请求)
- 为什么大概除一下就可以?
- 答:因为随时压测时间推进,系统的损耗也在增加,值可取!
也就是说,我们至少要准备8571条参数化数据
考虑下一个重点:
CSV如何设置?
思路:因为是登录,循环数据用完,是可以再次使用的,这一点区别与注册,注册具备唯一性
下面开始设置:
1)首先是CSV文件制作,准备好至少85710条数据
2)CSV组件设置
基本的不过多介绍
遇到文件结束符再次循环?:选择True(因为是登录,数据可以重复使用)
遇到文件结束符停止线程?:选择False(同上)
3)设置线程组
- 线程组:10
- 间隔时间:1秒
- 调度器:勾选
- 持续时间:60秒
- 意思:10个虚拟用户持续运行60秒,每次迭代间隔1秒(文件编码不写,默认为:UTF-8)
4)点击运行,察看聚合报告:
注意点:每次运行前,有必要情况下先运行清理,再点击保存按钮:
聚合报告结果:
- 取样结果:94793条请求,90%响应耗时:7ms
- 之前我们预估至少需要:85710,90%响应耗时:7ms
有误差很正常,实际运行中,环境,带宽等都会受到影响,主要是计算思路很重要。
下一章介绍:Jmeter参数化CSV进阶-UEA篇