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不一定会增加

分析: 看在并发用户数不变一段时间内,平均响应时间、平均TPS值。不看具体的某1个点

实际工作中的性能测试

/*
1、首先通过stepping thread  阶梯线程组,找出最大可接受的并发用户数的区间
2、缩小区间(递增不长),找到 最大可接受的并发用户数值
3、最后再使用普通线程组,设置最大可接受的并发用户数,进行性能测试
3.1、性能测试,一般每一轮 几十秒 几十分钟
*/

 

posted @ 2023-04-02 15:42  无敌大牛牛  阅读(168)  评论(0编辑  收藏  举报