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

模拟高延迟/间歇性网络连接

  •  6
  • Justin  · 技术社区  · 16 年前

    我正在使用加载测试网络应用程序 The Grinder (在Windows PC上)我希望模拟不完善的网络条件,以了解对应用程序负载的影响,特别是我希望看到以下影响:

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

    最简单的方法是什么?

    4 回复  |  直到 13 年前
        1
  •  5
  •   FractalSpace    15 年前
    1. 设置Linux设备作为此计算机的默认路由器。
    2. 在Linux设备上安装“netem”: http://www.linuxfoundation.org/collaborate/workgroups/networking/netem
        2
  •  1
  •   James Pulley    13 年前

    其他选项:

        3
  •  0
  •   anirvan    15 年前

    Grinder允许你深入到它的Jython脚本中,这一事实拥有很大的能力来定制你想要控制“代理”行为的方式。
    例如-如果你想模拟掉的网络连接,假设你的代理有100次运行。您可以生成一个随机数数组[介于0-99之间],对于匹配任意随机数的运行,您可以指示线程中止。

    然而,尽管如此,您希望模拟的条件更像是调整正在测试的服务器的行为。我提供给你的是 周围工作 这可能或不可能满足你的期望。作为一种工具,研磨机并不能真正地影响服务器的行为[待测试]。它更像是控制用户负载和行为的工具。

    希望这有帮助。

        4
  •  0
  •   Travis Bear    15 年前

    您可能还对Grinder的带宽限制功能感兴趣,它可以在任意级别限制代理线程在网络上发送/接收数据的速度。您的HTTP连接有一个setBandWidthLimit()方法,允许您这样做。