我可以在JMeter中设置加速期0吗?

时间:2014-10-08 06:57:00

标签: unit-testing testing jmeter load-testing performance-testing

我正在基于Web的应用程序中进行性能负载测试。

我从JMeter教程中了解到如何设置Ramp Up周期, 例如:

如果使用10个线程,并且加速时间为100秒,则JMeter将花费100秒来启动并运行所有10个线程。每个线程将在上一个线程开始后10(100/10)秒开始。

10个用户,100秒加速 - 从1个用户开始,每个10秒1个用户添加

但我怀疑我们可以设置Ramp Up 0期?如果是,那么结果如何受到0加速的影响?

2 个答案:

答案 0 :(得分:4)

加速为零(相当于1秒加速)很少有用,除了提升发布日期的大型网站,即按照音乐会门票或电脑游戏等时间表发布新产品时。

您可以使用它来证明该网站可以应对突然大量涌入的请求。

可能您也可以使用jmeter-plugins提供的踩踏加速。

正如其他人所说,您正在尝试模拟正常使用情况,因此如果正常使用包括突然重负载,请保持低位上升。

但是,请记住,由于缓慢增加和许多线程,您可能会受到本地资源的限制,因此您的结果可能是客户端功能的衡量标准,而不是服务器。

查看分布式负载测试,以模拟比单个客户端可以实现的更大负载。

答案 1 :(得分:3)

如JMeter网站所述,提升期的原因是:

  
    

Ramp-up需要足够长以避免在测试开始时过大的工作负载,并且足够短以至于最后一个线程在第一个线程完成之前开始运行(除非有人想要这样做)。 / p>   

作为一个例子,假设您有一个简单的测试计划,其中包括:

  1. 用户登录。
  2. 用户添加了一些内容。
  3. 用户阅读一些内容。
  4. 用户退出。
  5. 让我们假设您将其设置为使用1000个线程,并且启动时间为0,那么当您开始测试运行时,它将在完全相同的时刻生成1000个登录请求 (给予或采取一点)。

    毋庸置疑,这不是一个现实的考验。除非你遇到某种DDoS,否则你永远不会想到这样的使用高峰。

    您的目标是模拟尽可能接近系统在现实世界中使用的使用情况配置文件,并且为此您可能希望在所有操作中均匀分配使用情况在你的计划中。为此,您可以使用加速期。一个简单的经验法则是将加速期设置为您希望单次运行计划所需的时间。

相关问题