我需要模拟到服务器的低带宽、高延迟连接,以模拟远程站点上VPN的条件。带宽和延迟应该是可调整的,这样我就可以发现最好的组合来运行我们的软件包。
当前回答
您可以试试这个: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
其他回答
Take a look at the NE-ONE Network Emulator which allows you to configure bandwidth, latency, packet loss, packet reordering, packet duplication, packet fragmentation, network congestion and many more impairments so that you can create real-world network conditions in the lab. Different impairments can be configured for the up and downlink so you could have a really good uplink but a really bad downlink experience, great for seeing how the app handles TCP queuing because the acks don't come back in a timely manner and the overall latency therefore increases!
这里有一个专门针对游戏开发者的概述视频http://www.youtube.com/watch?v=DwtqlE7LcrQ,但它说明了它的内容。NE-ONE是使用web浏览器配置的,所以它真的很容易安装和配置-你不需要是一个网络专家:-)
有一个硬件版本- http://www.itrinegy.com/index.php/products/network-emulators/ne-one -或者你可以下载在VMware ESXi Server下运行的虚拟设备(软件)版本。虚拟设备可以从VMware的Solution Exchange - solutionexchange.vmware.com/store/products/ne-one-flex-network-emulator下载
查尔斯
我遇到了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)或本文。
尝试WANem
WANem是一个广域网模拟器,旨在在局域网环境下的应用程序开发/测试期间提供广域网/Internet的真实体验。
我会尝试在linux上使用netem。有了它,你可以模拟额外的延迟、损坏、丢包和复制。它甚至可以用在环回设备上。
另一个客户端程序(仅限Windows)是NetLimiter - http://www.netlimiter.com
推荐文章
- 如何检查动态附加的事件监听器是否存在?
- 大概的成本访问各种缓存和主存储器?
- 强制重新测试或禁用测试缓存
- LMAX的干扰模式是如何工作的?
- 比较Java中2个XML文档的最佳方法
- 如何模拟低带宽、高延迟的环境?
- 使用Moq验证方法调用
- 尝试模拟datetime.date.today(),但不工作
- 如何用python timeit对代码段进行性能测试?
- 确定bash中是否存在一个函数
- 如何使用“测试”包打印Go测试?
- 如何在IntelliJ中为整个项目配置“缩短命令行”方法
- toBe(true) vs toBeTruthy() vs toBeTrue()
- 什么时候应该使用Debug.Assert()?
- 从控制台停止一个Android应用程序