6

我正在使用The Grinder(在 Windows PC 上)对网络应用程序进行负载测试,我希望模拟不完美的网络条件,以查看对应用程序负载的影响,特别是我想看看以下效果:

  • 可变的网络延迟,因此不仅不同的客户端具有不同的延迟,而且在单个客户端的测试过程中延迟可能会有所不同。
  • 网络连接断开- 我希望模拟网络连接突然/随机断开时会发生什么。

最简单的方法是什么?

4

4 回答 4

5
  1. 设置一个 Linux 机器作为这台机器的默认路由器。
  2. 在 linux 机器上安装“netem”: http ://www.linuxfoundation.org/collaborate/workgroups/networking/netem
于 2011-07-05T18:55:46.570 回答
1

其他选项:

  • WanEM(开源,时钟计时在默认 VM 安装中可能是一个挑战,这会产生不一致的结果。最好使用 wen 安装在物理硬件上而不是虚拟机内)WanEm 下载位置
  • 顺罗(商用,我偏爱机箱方案)顺罗产品
  • Anue(商业,现为 Ixia)Ixia 网站上的 Anue
于 2012-08-30T22:23:48.163 回答
0

Grinder 允许您深入了解其 Jython 脚本这一事实具有很大的能力来自定义您希望控制“代理”行为的方式。
例如 - 如果您想模拟断开的网络连接,假设您的代理有 100 次运行。您可以生成一个随机数数组 [0-99 之间],并且对于匹配任何随机数的运行,您可以指示线程中止。

但是,话虽如此,您希望模拟的条件更像是调整您正在测试的服务器的行为。我为您提供的是一种解决方法,它可能会也可能不会满足您的期望。Grinder 作为一种工具并不能真正影响服务器 [待测试] 的行为。它更像是一种控制用户负载和行为的工具。

希望这可以帮助。

于 2010-11-16T07:30:28.010 回答
0

您可能还对磨床的带宽限制功能感兴趣,该功能可以在任意级别限制您的代理线程通过网络发送/接收数据的速度。您的 HTTP 连接有一个 setBandwidthLimit() 方法,允许您执行此操作。

于 2011-07-03T00:45:37.787 回答