Testing 如何模拟低带宽、高延迟的环境?
我需要模拟到服务器的低带宽、高延迟连接,以便模拟远程站点的VPN条件。带宽和延迟应该是可调整的,这样我就可以找到运行软件包的最佳组合。过去,我使用了使用Linux(网络仿真)功能的网桥。它是高度可配置的——允许引入延迟(第一个示例是WAN)、数据包丢失、损坏等 我注意到Netem在我的应用程序中运行得非常好,但我也使用了好几次。提供的可引导ISO(和虚拟设备映像)非常方便。试试看 WANem是一个广域网仿真器,旨在通过LAN环境在应用程序开发/测试期间提供广域网/互联网的真实体验 查尔斯 我遇到了web调试代理应用程序,并在模拟网络延迟方面取得了巨大成功。它可以在Windows、Mac和Linux上运行 带宽限制/带宽模拟器 Charles可用于调整Internet连接的带宽和延迟。这使您能够使用高速连接模拟调制解调器条件 带宽可以限制为每秒任意字节。这可以模拟任何连接速度 延迟也可以设置为任意毫秒数。延迟延迟模拟较慢连接上经历的延迟,即发出请求和在另一端接收请求之间的延迟 DummyNetTesting 如何模拟低带宽、高延迟的环境?,testing,bandwidth,latency,Testing,Bandwidth,Latency,我需要模拟到服务器的低带宽、高延迟连接,以便模拟远程站点的VPN条件。带宽和延迟应该是可调整的,这样我就可以找到运行软件包的最佳组合。过去,我使用了使用Linux(网络仿真)功能的网桥。它是高度可配置的——允许引入延迟(第一个示例是WAN)、数据包丢失、损坏等 我注意到Netem在我的应用程序中运行得非常好,但我也使用了好几次。提供的可引导ISO(和虚拟设备映像)非常方便。试试看 WANem是一个广域网仿真器,旨在通过LAN环境在应用程序开发/测试期间提供广域网/互联网的真实体验 查尔斯 我遇到
您也可以使用vmware运行BSD或Linux,然后尝试或有一个很好的方法可以设置一台FreeBSD机器来实现这一点—使用您的标准旧桌面,添加一个额外的NIC,然后构建 可在以下网址获取writeup 在上述说明的步骤5中,您正在启用防火墙。对于仅模拟不同的IP连接,您可以(例如)执行以下操作:
ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in
ipfw pipe 1 config bw 56Kbit/s
ipfw pipe 2 config bw 56Kbit/s
创建包含以下内容的文件/etc/rc.firewall.56k
:
ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in
ipfw pipe 1 config bw 56Kbit/s
ipfw pipe 2 config bw 56Kbit/s
并更改/etc/rc.conf
。。。更换线路
firewall_type="open"
与
重新启动,你就拥有了56K网桥
如果您碰巧在Macintosh上工作,那么默认情况下,该操作系统内置了ipfw。我也做了同样的事情,通过在机场和以太网上路由网络流量,对其进行设置,使机场上的任何东西都具有与我试图模拟的东西相同的特性。您可以直接从终端调用ipfw命令,并获得相同的效果。我将尝试在linux上使用。使用它,您可以模拟额外的延迟、损坏、数据包丢失和复制。它甚至可以在环回设备上运行。如果您使用的是linux,我发现该程序对这类事情非常有帮助。对于Windows,您可以使用以下应用程序: 适用于Windows 2000、XP、2003、Vista、Seven和2008的广域网连接仿真器
可能是唯一一款适用于Windows的产品。有一款来自VE Desktop的产品,可用于模拟各种网络条件。它允许你用一个简单的用户界面调整延迟、带宽和包丢失。唯一的警告是,这不是免费的。希望这能有所帮助。另一个客户端程序(仅限Windows)是NetLimiter-我一直在寻找一个易于使用的工具来进行此类测试。前几天我刚遇到这个:
如果你正在运行Windows,你应该检查它。这是超级容易设置和开始,似乎工作得很好。它允许您定义每个方向的带宽、延迟和数据包丢失。另一件非常好的事情是,您可以定义“流匹配条件”,这样它只会影响您想要的流量。哦,是的,它是免费的。对于macOS,有一个网络链接调节器,可以模拟可配置的带宽、延迟和数据包丢失。它包含在包装中。
使用Fiddler(免费解决方案)为Windows找到了此解决方案
我想我找到了我需要的东西。也许你可以使用或。希望有帮助。我在我的Windows机器上使用NetBalancer
2017-10-07更新:NetBalancer的最后一个免费版本是9.2.7。该程序有一个硬编码的到期日期。在启动NetBalancer服务之前,您需要在2016-10-18之前调回系统时钟。有关详细信息,请参阅。我发现了一个用于Windows的小程序,名为。它处于alpha状态,但对我来说似乎工作得很好,而且是开源的 编辑:其他人已经注意到你不能用笨拙来限制带宽,这是真的。您只能添加延迟和几个其他与网络相关的错误。
这将取消此答案作为问题有效答案的资格,但是,因为我在想模拟坏网络时很好地使用了它,所以只要它有>0票或类似票,我就把它留在这里。看看NE-ONE网络仿真器,它允许您配置带宽、延迟、数据包丢失、数据包重新排序,数据包复制、数据包碎片、网络拥塞和更多的损伤,这样您就可以在实验室中创造真实的网络条件。可以为上行和下行配置不同的损伤,这样您就可以有一个非常好的上行体验,但却有一个非常糟糕的下行体验,很高兴看到应用程序如何处理TCP队列,因为ACK不会及时返回,因此总体延迟会增加 这里有一个专门针对游戏开发者的概述视频,但它展示了它的内容。NE-ONE是使用web浏览器配置的,因此安装和配置非常容易-您不需要成为网络专家:-) 有一个硬件版本——或者你可以下载一个运行und的虚拟设备(软件)版本
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"