【问题标题】:Jmeter tps adjustmentJmeter tps调整
【发布时间】:2019-01-03 05:42:58
【问题描述】:

是否需要调整jmeter给出的Throughput,才能得到系统的实际tps

例如:我为 250 个并发用户获得 100 tps。这运行了 10 小时。我能否得出一个结论,比如我的软件每秒可以处理 100 笔交易。否则我需要做一些调整并需要得到一个值。为什么我要问这个,因为当负载开始时,系统需要一段时间才能达到足够的水平(预热时间)。如果是这样怎么做。请帮助我理解这一点。

【问题讨论】:

    标签: jmeter performance-testing tps


    【解决方案1】:

    默认情况下,JMeter尽可能快地发送请求,影响 TPS 速率的主要因素是:

    • 线程数(虚拟用户) - 你可以在Thread Group 中定义
    • 您的应用程序响应时间 - 这不是您可以控制的

    理想情况下,当您增加线程数时,TPS 的数量应该增加相同的因子,即如果您有 250 个用户并获得 100 tps,那么您应该为 500 个用户获得 200 tps。如果不是这种情况 - 这 500 个用户超出了 saturation point 并且您的应用程序 bottleneck 介于 250 到 500 个用户之间(如果不是更早的话)。

    关于“预热”时间 - 执行加载的推荐方法是 gradually,这样您的应用程序将准备好增加负载,预热缓存,让 JIT 编译器/优化器来完成他们的工作等。此外,通过这种方式,您将能够将增加的负载与增加/减少的吞吐量、响应时间、错误数量等相关联,而同时释放 250 个用户并不能说明全部情况。见

    【讨论】:

      【解决方案2】:

      系统预热时间因系统而异。预热期是缓存配置、初始化不同库(例如 Builder.init())和其他通常不会在后续调用中发生的初始函数的地方。如果你研究负载测试的结果,一开始会有一个缓慢的时期。对于大多数系统,它可能只有 5 到 10 分钟。如果测试长达 10 小时,这些值甚至可以忽略不计。但话又说回来,如果结果在开始时给出极低的值(它总是取决于从初始预热期到正常操作的跳跃),则可以进行平均计算。

      根据 jmeter 配置,此线程可能会解释配置。 How to exclude warmup time from JMeter summary?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-12
        • 1970-01-01
        • 1970-01-01
        • 2019-04-02
        • 1970-01-01
        • 2011-10-17
        • 1970-01-01
        相关资源
        最近更新 更多