Jmeter-负载测试场景设计
负载测试
逐步增加并发用户数,找到最大可接受的并发用户数区间。
-
最大并发用户数
-
一般是说把服务器压奔溃、或者出现持续报错
-
-
最大可接受并发用户数
-
能接收的标准
-
最大可接受的并发用户数,并不一定是 tps值最大
-
所需插件
负载测试,需要引入插件: 'jpgc ' jpgc -standard set
-
首先要先安装
Jmeter Plugins Manager
-
存放路径
lib/ext
jp@gc - Stepping Thread Group
阶梯线程组
特点:每次递增的步长是一定的
-
this group will start
N
threads-
如N=100
-
表示这个线程组将总共启动100个线程数
-
-
-
first wait for xx seconds
首先等待多少
启动前,会等待多少时间, 相对于 普通线程组种延迟启动时间
-
then start
N
threads-
设置最开始时启动N个线程,从N个线程开始持续增加
-
即:首先启动多少个线程数
-
如N=10
-
表示:先启动10个线程数
-
-
-
-
next add 10 threads every 30 seconds using ramp-up 5 seconds
-
表示:每5s时间增加10个并发用户数,然后持续运行30s
-
如首先启动20个线程,增加到10个以后(20+10),然后运行30s以后,再用5s的ramp-Up的时间去新增另一组10个
-
在5s内启动10个线程,运行30s,然后再在5s内启动10个线程,再运行30s,以此类推,最后一直到将所有的100个线程都运行起来。
-
-
即递增的步长
-
-
then hold load for xxxx seconds
-
当增加到指定的总线程数以后,然后持续运行多少秒
-
-
finally stop 5 threads every 1seconds
-
最后都会执行 每隔1s时间停止5用户
-
(hold时间一到就会先停止5个)
-
-
案例
/*
案例:
如已经找到了最大并发用户数的区间是45-50
这时候配置如下:
1、this group will start 50 threads
2、then start 45 threads
表示先启动45个线程
3、next add 1 threads every 10 seconds using ramp-up 2 seconds
缩小递增的步长
*/
负载场景设计思路
-
性能测试场景设计的一个思路: 缓起步,快结束!
-
缓起步
-
通过缓慢的增加并发用户数,从而对服务器缓慢的增加压力
-
-
快结束
-
而不是瞬间结束,结束时间太快,可能导致 不可中断请求被强制中断,而出错。
-
-
监听器
-
Active Threads Over Time
-
随着时间变化的活跃线程数 ====折线图
-
-
Response Times Over Time
-
随着时间变化的响应时间图 ====折线图
-
对应并发用户数的平均响应时间
-
接口平均响应时间可接受的时间为1.5s 大于1.5s就不能接受
-
-
Transactions per Second(TPS)
-
随着时间变化tps的图
-
并发用户数增加,tps不一定会增加
-
/* 1、首先通过stepping thread 阶梯线程组,找出最大可接受的并发用户数的区间 2、缩小区间(递增不长),找到 最大可接受的并发用户数值 3、最后再使用普通线程组,设置最大可接受的并发用户数,进行性能测试 3.1、性能测试,一般每一轮 几十秒 几十分钟 */