0

我们是否需要调整 jmeter 给出的吞吐量,以找出系统的实际 tps

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

4

2 回答 2

0

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

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

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

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

于 2018-07-26T10:11:57.983 回答
0

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

根据 jmeter 配置,这个线程可以解释配置。如何从 JMeter 摘要中排除预热时间?

于 2018-07-26T10:15:28.840 回答