我需要模拟到服务器的低带宽、高延迟连接,以模拟远程站点上VPN的条件。带宽和延迟应该是可调整的,这样我就可以发现最好的组合来运行我们的软件包。
当前回答
查尔斯
我遇到了Charles web调试代理应用程序,并在模拟网络延迟方面取得了巨大的成功。它可以在Windows、Mac和Linux上运行。
Bandwidth throttle / Bandwidth simulator Charles can be used to adjust the bandwidth and latency of your Internet connection. This enables you to simulate modem conditions using your high-speed connection. The bandwidth may be throttled to any arbitrary bytes per second. This enables any connection speed to be simulated. The latency may also be set to any arbitrary number of milliseconds. The latency delay simulates the latency experienced on slower connections, that is the delay between making a request and the request being received at the other end.
虚拟网
您也可以使用vmware来运行BSD或Linux,并尝试本文(DummyNet)或本文。
其他回答
我在我的Windows电脑上使用NetBalancer。
http://seriousbit.com/netbalancer/
2017-10-07更新:NetBalancer最新免费版本为9.2.7。该程序有一个硬编码的截止日期。在启动NetBalancer服务之前,您需要在2016-10-18之前调回系统时钟。详情请参阅本文。
我会尝试在linux上使用netem。有了它,你可以模拟额外的延迟、损坏、丢包和复制。它甚至可以用在环回设备上。
使用Fiddler在Windows上找到了这个(免费解决方案) http://www.logic-worx.com/index.php/tools-and-apps/fiddler-connection-simulator/
您可以试试这个:CovenantSQL/GNTE 就像这样写YAML:
group:
-
name: china
nodes:
-
ip: 10.250.1.2
cmd: "cd /scripts && ./YourBin args"
-
ip: 10.250.1.3
cmd: "cd /scripts && ./YourBin args"
delay: "100ms 10ms 30%"
loss: "1% 10%"
-
name: us
nodes:
-
ip: 10.250.2.2
cmd: "cd /scripts && ./YourBin args"
-
ip: 10.250.2.3
cmd: "cd /scripts && ./YourBin args"
delay: "1000ms 10ms 30%"
loss: "1% 10%"
network:
-
groups:
- china
- us
delay: "200ms 10ms 1%"
corrupt: "0.2%"
rate: "10mbit"
运行。/generate scripts/your.yaml
http://www.shunra.com上有一个产品叫做VE Desktop,可以用来模拟不同的网络条件。它允许你用一个简单的UI调整延迟、带宽和丢包。唯一需要注意的是,它不是免费的。希望这能有所帮助。
推荐文章
- ReferenceError: description没有定义NodeJs
- 如何检查动态附加的事件监听器是否存在?
- 大概的成本访问各种缓存和主存储器?
- 强制重新测试或禁用测试缓存
- LMAX的干扰模式是如何工作的?
- 比较Java中2个XML文档的最佳方法
- 如何模拟低带宽、高延迟的环境?
- 使用Moq验证方法调用
- 尝试模拟datetime.date.today(),但不工作
- 如何用python timeit对代码段进行性能测试?
- 确定bash中是否存在一个函数
- 如何使用“测试”包打印Go测试?
- 如何在IntelliJ中为整个项目配置“缩短命令行”方法
- toBe(true) vs toBeTruthy() vs toBeTrue()
- 什么时候应该使用Debug.Assert()?