栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

(49)其他的性能测试场景

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(49)其他的性能测试场景

其他的性能测试场景

普通线程组 设计性能测试场景


压力测试

关键点: 运行的时间 比较长 -----看服务器的稳定性

把性能测试场景的运行时间 设置的比较长。 时间单位 一般是 以小时或天为单位

方法1: 普通线程组, 持续运行时间 设置比较长

方法2: stepping thread group 最大线程和 起始线程 设置相等 holdload 时间 设置比较长


波浪型场景

Ultimate Thread Group ————》终极线程组

波浪型的场景,是用于模拟 有明显的时间规律请求的场景

  • 配置:
    • 并发用户数 -------设置,根据你的业务背景要求

    • 时间设置:

      • 下一行的起始时间,大于等于 上一行所有时间之和 --------这样,波浪就不会重叠
      • sum(初始化的起始时间 +启动用时 + 持续运行时长 + 结束时间 )

  • 实际场景:
    • 10:00 —— 12:30 时间 进入系统人比较多,并发是比较大
    • 12:30 —— 15:00 时间没有什么请求
    • 15:00 —— 16:00 有少量并发
    • 17:00 —— 19:00 有比较高的并发
    • 要你模拟,你怎么模拟。
      这个场景中,有没有并发请求的时间,我们不需要等待对于时间长度。

面向目标场景
  • 现实中
    • 1、需求, 要求某个接口满足多少 tps。
    • 2、需求,要求能支持xxx人的同时请求。

有个问题: 并发用户数应该用多少呢?

做负载测试、性能测试、压力测试,我们都说 并发用户数 是我们性能测试的源动力。都是使用并发用户数去请求,然后,看请求的结果各项性能指标(tps的数值)

这个需求,就可以理解为,只要你能达到要求的tps值,并发用户数随意多少。


  • Arrivals Thread Group 线程组,达到多少每秒 ------每秒多少事物=tps

    • targets rate就是 目标tps值
    • ramp-uptime 达到到目标用时长
    • ramp-up step 达到目标你有多少次 调整计划
    • hold 达到目标后,持续运行多长时间

  • Concurrency Thread Group 线程组,是达到多少人

    • targe: 目标人数
    • ramp-uptime 达到到目标用时长
    • ramp-up step 达到目标你有多少次 调整计划
    • hold 达到目标后,持续运行多长时间

  • 注意点:

    • 切换time unit 时间单位为秒,如果不选择秒,而选择分钟,那么就相隔60倍。

业务背景: 有一个秒杀的需求,要求能支持 1500人秒杀,系统依然正常。

  • 分析:

    • 绝对不能容忍, 秒杀把系统搞宕机(崩溃)

    • 可以容忍:一段时间内处于处理状态,不报错 -------可以接受 一个请求的响应时间远远超过1秒钟

      • 需求就变成了,我们的系统要能支持 1500人并发,并且能持续运行一段时间,系统不出错

  • 场景:

    • 并发用户数比较高,ramp-up时间比较短,然后,要持续运行一段时间
    • 我们关注: tps中,不要出现 错误
      • 不关系: 平均响应时间多少

混合场景

很多接口放在一个场景中,测试,=============算混合,但是,是有业务背景的混合吗?

关机键点: 就在于接口比例(接口的并发用户数比例)

并发用户数的比例,能把多个接口放1个线程组吗?

线程组是用于性能场景设计的,可以设计不同的并发用户数。放到一个线程组下面,线程组下的所有的接口的并发用户数都相同。所以,真正的混合场景,是要用 多个线程组。

多个线程组: jmeter多个线程组之间,不能直接跨线程组传参。 多个线程组挂接口,接口之间有关联,默认,是不能直接传递参数,关联是关联不到参数值的。

所以,我们 得先讲 jmeter属性


  • jmeter的变量:

    • 用户自定义变量: 可以跨线程组,但是,值在启动运行后,不会变
    • 用户参数: 不能直接跨线程组,但是,在运行过程中,值,可以变

  • jmeter属性

    • 属性:是jmeter工具自身带有的。------------只有在工具范围内,都可以用,线程组是jmeter工具的一个元件,所有,所有的 线程组,都可以使用 jmeter的属性。
      • 可以是天生的
      • 也可以是,后天加上去的
    • jmeter的属性,也有 先天的 和 后天加上的
      • 先天的: ------静态属性
        • jmeter静态属性: 所有的 属性配置文件.properties结尾的文件
        • jmeter系统属性: 如:操作系统属性

      • 后天的: -------- 动态属性

        • 可以添加 属性
        • 属性的值 可以变

  • jmeter中添加动态数据

    • setProperty 设置属性函数

    • 获取属性:P propery 函数 ----获取到属性的名称,就能获取到属性的值

  • 在jmeter中,多个线程组,默认是 并行执行的


跨线程组的使用:







转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1027687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号