【问题标题】:Running load tests from home network从家庭网络运行负载测试
【发布时间】:2026-01-26 01:05:01
【问题描述】:

我需要使用 loadrunner 执行负载测试,以模拟从外部网络(我的家庭网络)在放置在同一区域的某个组织中的服务器上产生的负载。

将被测试的应用程序是一个网站(不是重型网站),用户可以登录并获取个人信息。

我非常担心我的家庭网络带宽不足以产生以下负载:

我需要模拟 250 个 Web 并发用户,它们将在一小时内执行大约 30,000 个事务。

我的家庭网络规格和统计数据:

下载 - 75M - 7.5 兆字节/秒

上传 - 3.5 M - 350Kbyte / sec

根据您的经验,这足以产生所需的负载吗?如果不是,可以做些什么来模拟来自外部网络的负载?

【问题讨论】:

  • 要生成负载,您应该更多地查看 loadrunner 机器的配置。您的控制器和/或负载生成器机器是否能够生成所需的负载?
  • 在生产中你的测试网站会被外部访问吗?
  • 是的,在生产环境中,网站应该从外部访问。
  • 一台 2 核 2 GB RAM 的单机应该能够在此协议中生成大约 1000 个虚拟用户。我担心我会在网络上遇到瓶颈。
  • 因此,在生成负载方面,您应该查看您的 Lgs 功能。网络带宽不会影响负载生成,但可能会增加负载时间。但是,由于该站点最终将从外部访问,因此就带宽而言,您应该可以在家中运行。为了安全起见,我会询问是否对普通用户的带宽有任何期望。这有意义吗?

标签: testing load bandwidth loadrunner


【解决方案1】:
  1. 从流程的角度来看,一个 Load Generator 永远不够。至少考虑三个,两个用于主负载,一个用于控制集。因此,您可能一开始就会遇到问题。
  2. 之前提到过。上云:Amazon、CloudAzure、GoDaddy、Rackspace、1&1 等……都有虚拟机,您可以使用这些虚拟机对运行负载生成器软件的主机进行性能测试。如果您正在寻找有代表性的体验,更多的位置会更好,因为这可以最大限度地减少一个主机网络对另一个主机网络的影响。很可能您的站点将位于一个主干上,并且您的一些负载生成器可能必须从另一个主干上进行对等。这还不错,因为这样可以更真实地了解您在不同位置的最终用户体验。
  3. 在家中查看最终用户协议。除非您在家中签订了企业级协议,否则此类流量可能看起来像是 DDOS 事件,从而在您的服务提供商处引发警报。如果您发现自己在没有任何警告的情况下突然断网,请不要感到惊讶。我以前曾见过有人试图从家中对网站产生负载。

【讨论】:

  • +1 用于 DDOS 攻击。关于云服务,通常有一个共享的基础设施。无论如何这会影响负载生成吗?
  • 是的,他们会关闭您的连接。在你的测试设计中有一个单一的限制点是失败的必经之路。很可能这个人也直接从控制器产生负载,这也是一个不好的迹象。咬紧牙关,预先为额外的生成器付费,否则您将在重新运行测试或在后端失去可信度时为此付费
  • 在云服务上,它们中的大多数位于具有非常高速连接的多个骨干供应商上。拥有 250 个虚拟用户,您不太可能影响他们的基础架构。尽管当您查看每个用户必须每小时循环 120 次时,循环率非常高,但假设每次迭代有一个“事务”,这是每 30 秒一次迭代。对于用户数量和循环率的负载模型,我的直觉是“小心 Will Robinson”。
  • 每秒 7.5MB 也转换为每秒 60 兆位。只有一小部分家庭的速度会如此之快。 60 兆比特也将用于无延迟、重传或错误。不在家处理这个问题的另一个原因。
  • 同意。我有 20Mbps 的连接,但速度并不总是相同。
【解决方案2】:

正如您在 cmets 中看到的,您可以生成的负载量不仅受网络带宽的影响,还受脚本本身和 LG 机器规格的影响。我的意思是,如果不考虑所有参数,您的问题就没有明确的答案。

您应该做的是在一个流行的云提供商(Amazon、Azure、HP)上创建一个帐户,并根据您所知道的参数创建一台具有您需要的确切规格的机器。如果需要额外付费,这些服务中的大多数都允许您增加机器大小和带宽。

祝你好运!

【讨论】:

  • 感谢您的回复,我会认真考虑的。