代码之家  ›  专栏  ›  技术社区  ›  Amit

为什么在服务器配置相同的情况下增加负载运行程序实例的数量,负载测试会得到更好的结果?

  •  1
  • Amit  · 技术社区  · 6 年前

    为什么在服务器具有相同配置的情况下增加负载运行程序实例的数量时,负载测试会提供更好的结果?

    我在Apache服务器上托管了一个RESTAPI。

    对于一个同时拥有250个用户的LoadRunner实例,我的平均响应时间是0.8秒

    但是当我将负载运行程序实例从1增加到4时,平均响应时间从0.8减少到0.48。

    为什么会这样?其思想是对服务器进行负载测试,而不是对使用者本身进行负载测试。

    请帮助我理解为什么会发生这种情况的逻辑

    提前谢谢

    2 回复  |  直到 6 年前
        1
  •  1
  •   Dmitri T    6 年前

    LoadRunner发送请求 尽可能快地 (除非你使用 lr_think_time() 功能)。

    应用程序的响应速度也尽可能快,如果您增加了负载吞吐量,那么也应该增加负载吞吐量(除非您达到 saturation point )

    因此,最直接的解释是,单个Load Generator实例不足以让您的服务器屈服,最可能的原因是虚拟用户数量太少,或者由于CPU、RAM、网络或磁盘IO容量等系统资源不足,请确保您的Load Generator(s)有足够的空间操作,因为当负载超过总可用容量的90%时,性能可能会大大降低,特别是在x86系统上。这取决于您的操作系统 top 对于Unix和衍生产品, Resource Monitor 对于Windows或您可能更喜欢跨平台解决方案,如 SIGAR PerfMon

        2
  •  1
  •   James Pulley    6 年前

    你的负载发生器可能过载了。通过在四个负载生成器和一个负载生成器之间分布相同的负载,您就不太可能使负载生成器过载并对结果产生负面影响。可能是受影响的任何有限资源集都会导致负载生成器的速度减慢。

    根据经验我 从未 少于三台负荷发电机(两台主发电机和一台控制器)。我还希望在任何给定的负载生成器上使用少于50%的可用资源池。这包括所有有限的资源(CPU、磁盘、内存、网络)