1. 线程组知识
1)Ramp-up period
表示多长时间内建立全部的线程数N
默认为0,表示测试开始即建立全部线程并立即发送访问请求
设置为Ts,表示每隔T/N建立一个线程
注1:一般不设置为0,会引起因非正常的初始访问峰值导致服务器过载。
设置过大会引起一些线程尚未启动,初期启动的线程已经结束。
注2:通过调整ramp-up period使首次取样点击率接近平均点击率。
2)线程延迟
~=用户思考时间,即两次成功访问请求之间的暂停时间
延迟原因:真实用户需要阅读或查找表单等产生的思考时间
如果自动化测试中没有考虑延迟时间会导致测试失真。
2. Jmeter录制方式除badboy外自带http proxy server
通过启动本地代理,记录所有请求
步骤:工作台—>添加HTTP PROXY SERVER
-->启动代理,并设置浏览器使用代理localhost:端口—>高斯随机定时器(自动存储请求延迟${T})
测试计划—>添加线程组—>添加录制控制器(用于存储录制产生的HTTP请求)—>HTTP请求默认值
-->HTTP COOKIE Manager
对于自动收集的cookie是不会展示在manager里面的,在监听器查看结果树上可以看到cookie信息。
对于代理录制的脚本,录制完成后需要精简脚本,去除无效请求。
3. 定时器Timer
定时器包括设置线程延迟属性定时器、集合点定时器、固定吞吐量定时器等
线程延迟属性定时器就是模拟用户思考时间。如Constant Timer
集合点就是等待用户一起同步访问,用于压力测试。如Synchronizing Timer
固定吞吐量定时器设置每分钟发出多少请求数。Constant Throughput Timer
对于定时器作用域及执行顺序见之前专题。
4. 补充性能测试标准
置信空间内的响应时间评价
判断响应时间除评价平均响应时间外,还应计算置信空间内的响应时间。
90%置信空间内的响应时间应小于5s是可以接受的。
Jmeter报告得到响应时间是正态分布的,其报告显示平均值μ和标准差σ。设取样数为n。
置信空间内的响应区间为[μ-Zσ/√n,μ+Zσ/√n]
置信空间与Z值对应关系:
80% 1.28155
90% 1.645
95% 1.95996
99% 2.57583
99.5% 2.807
99.9% 3.29053