Jmeter-普通性能场景设计

普通性能场景设计

直接使用一个固定量的并发用户数,进行性能测试,得到性能指标值

在jmeter中,模拟多用户并发,修改线程组的线程数、

  • 线程组:

    • 用于性能场景设计的

  • 线程数:

    • 模拟性能测试的并发人数

jmeter中,线程数,理论上是没有限制的。但是,要模拟的人越多,要消耗(发起方)的资源也就越多,我们设备资源是有限的,不可能在实际使用中无限的产生并发用户数。

jmeter堆栈配置

http协议,在jmeter默认的堆栈配置情况下,可以产生约1000~1500左右,超过1500可能产生不了。单台机器,一般不要去设置超过1500个线程数。

如果超过1500的话,需要用分布式

修改jmeter的堆栈配置

  • windows电脑:

    • jmeter.bat文件 HEAP这个参数

    • 默认配置

      • rem   HEAP        - (Optional) JVM memory settings used when starting JMeter
        rem                 Defaults to '-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m'
  • linux

    • jmeter文件配置

  • 同等机器配置下,linux能产生更高的并发用户数

性能测试时,使用无图型

真正做性能测试时,使用jmeter的无图形界面模式来进行,不使用图形界面。

线程组属性配置

线程数

线程数设置多少合理?

首先,要做负载测试,找到可以接受的最大并发用户数

然后,再用这个并发用户数来进行性能测试,得到需要的性能指标值。

  • 怎么确认是最大可接收的并发用户数?

    • 看有没有连续报错

    • 响应时间有没有超过1.5秒

/*
经验:
假设: 50并发用户数,假设**每个人每秒执行1次请求**,
也就是说每1秒有50个请求,50 * 60分钟*60s(3600s) = 18w 请求  也就是说1个小时产生了18w个请求,一天按8小时算,144w个请求。
​
一般的企业,系统日均访问量在百万级别,并发用户数并不高,可能在几十到小几百
​
​
*/

 

ramp-Up

启动所有的线程数的时间

启动时间,设置的线程数,在这个时间结束时,全部产生

  • 单位(秒)

案例

/*
如100线程数,把ramp-Up设置3S
表示:  在3秒钟结束的的时间上,会把100个线程数,都给虚拟出来。至于这3秒钟之内,每秒会虚拟出多少,并不能确定
​
已经虚拟出来的线程数,它就会去线程组执行下面取样器请求
*/

ramp-Up怎么设置比较合理

/*
经验: 
1、200-300左右线程数,这个时间2-3s就可以
2、500左右线程数3-5s就可以
3、500以上线程数,5s也就差不多。
​
一定不要百几千线程数,时间设置1s
*/

循环次数

# 准确来说这里应该是迭代次数

# 所谓迭代:就是当线程组所有的取样器都执行完算一个迭代,才会进入下一此循环

小于1是无效的,它必须大于等于1

循环次数的永远 要与 调度器配合使用,如果不一起用,调度器就不生效。

只勾选永远

不要只勾选永远

这个选项通常都是配合调度器一起使用的

勾选永远以后,设置的循环次数,自动无效

/*
仅仅只是勾选永远:那么它会一直运行,知道你强制停止,它才会停止
​
如果点击停止,强制停止了,这个时候取样器执行会有出错,这个错误,也会算到的服务器的错误率中,这是不合理的。
这个错误是认为导致的
*/

 

调度器

循环次数的永远 要与 调度器配合使用,如果不一起用,调度器就不生效。

  • 持续运行时间(单位:,秒)

    • 设置的所有线程数,总共的运行时间

    • # 如果200线程数,设置了ramp-Up设置了3s
      # 如第一秒虚拟出50个用户,这50个用户就会立即去执行线程组下面的取样器请求
    •  

  • 启动延迟(单位:秒)

运行时间结束后,但jmeter没有停止运行

如果并发用户数比较大 + 持续运行时间比较长, 导致内存消耗比较大,可能导致jmeter没有足够的资源来执行停止命令,从而出现,持续运行时间已经到了,但是却没有停下来的情况。

  • 网络延迟、磁盘读写......也可能会导致此情况的发生

  • 这种现象,用jmeter进行性能测试,很场景

  • 解决:

    • 执行stoptest.cmd、stoptest.sh文件 去停止,这个能停止,但是,此时测试结果已经没有用

    • 自己强行停止,从新再开始一次。等待一段时间之后,再开始

普通性能场景通常运行时间

持续运行时间: 一般用 几十秒到几十分钟

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