当前位置:  开发笔记 > 前端 > 正文

如何模拟低带宽,高延迟环境?

如何解决《如何模拟低带宽,高延迟环境?》经验,为你挑选了10个好方法。

我需要模拟与服务器的低带宽,高延迟连接,以便模拟远程站点上VPN的条件.带宽和延迟应该是可调整的,因此我可以发现最佳组合以运行我们的软件包.



1> Jon Colverso..:

对于macOS,网络链路调节器可模拟可配置的带宽,延迟和数据包丢失.它包含在Xcode的硬件IO工具中. 截图


"网络链接调节器"首选项窗格是XCode硬件IO工具的一部分,您可以从https://developer.apple.com/downloads/下载该工具.

2> heckj..:

设置一个FreeBSD机器就可以做到这一点 - 使用标准的旧桌面,投入额外的NIC并进行构建.

该文章可在http://www.freebsd.org/doc/en/articles/filtering-bridges/article.html上找到.

在上述说明的第5步中,您将启用防火墙.要仅模拟不同的IP连接,您可以(例如)执行以下操作:

创建一个/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"

firewall_type="/etc/rc.firewall.56k"

重启,你有一个56K桥!

如果您碰巧在Macintosh上工作,那么该操作系统默认内置了ipfw.我通过在机场和以太网上路由网络流量做了同样的事情,设置它以便机场上的任何东西都具有与我想要模仿的任何东西相同的特征.您可以直接从终端调用ipfw命令并获得相同的效果.



3> Kris Kumler..:

过去,我使用了Linux Netem(网络仿真)功能的桥接器.它具有高度可配置性 - 允许引入延迟(第一个示例适用于WAN),数据包丢失,损坏等.

编辑:还有MasterShaper Web界面来控制设置.

我注意到Netem在我的应用程序中工作得很好,但我最终也使用了几次WANem.提供的可引导ISO(和虚拟设备映像)使其非常方便.



4> Eugene Yokot..:

查尔斯

我遇到了Charles调试代理应用程序,并在模拟网络延迟方面取得了巨大成功.它适用于Windows,Mac和Linux.

查尔斯在Mac上

带宽节流/带宽模拟器

Charles可用于调整Internet连接的带宽和延迟.这使您可以使用高速连接模拟调制解调器条件.

带宽可以被限制为每秒任意字节.这样可以模拟任何连接速度.

延迟也可以设置为任意数毫秒.延迟延迟模拟在较慢连接上经历的延迟,即在发出请求和在另一端接收请求之间的延迟.

DUMMYNET

您也可以使用vmware运行BSD或Linux并尝试本文(DummyNet)或此文章.


嗨布拉德.你能提一下你有什么样的问题吗?
Charles是一个HTTP代理,因此仅适用于测试HTTP应用程序.对于他们自己,但在我看来,它可能是我用过的最糟糕的软件.我只在短时间内使用它,而我不得不在Mac上工作.对于Windows用户,如果需要HTTP调试代理,我建议使用Fiddler.不幸的是,我没有找到除了查尔斯以外的其他任何东西.

5> Markus..:

我发现这个小巧整洁的程序很笨拙.它具有alpha状态,但它似乎对我来说很好,而且它是开源的.

编辑:其他人已经注意到你不能用笨拙来限制带宽,这是真的.您只能添加延迟和其他一些与网络相关的错误.这将取消这个答案作为问题的有效答案,但是因为当我想模拟一个糟糕的网络时我很好地使用它,所以只要它有> 0票或类似的话,我就把它留在这里.


优秀的程序。正是我所需要的。我推荐它。像魅力一样工作,而且超级简单。

6> epatel..:

试试WANem

WANem是一种广域网仿真器,旨在通过LAN环境进行应用程序开发/测试期间提供广域网/ Internet的真实体验.



7> 小智..:

对于Windows,您可以使用此应用程序:http://www.softperfect.com/products/connectionemulator/

用于Windows 2000,XP,2003,Vista,Seven和2008的WAN连接仿真器.

也许是Windows唯一可用的.



8> 小智..:

我会尝试在linux上使用netem.有了它,您可以模拟额外的延迟,损坏,丢包和重复.它甚至适用于环回设备.



9> kaliatech..:

另一个客户端程序(仅限Windows)是NetLimiter - http://www.netlimiter.com


即使是当前的测试版(NetLimiter 4)也不允许您更改延迟.

10> Tony..:

我在Windows机器上使用NetBalancer.

http://seriousbit.com/netbalancer/

2017-10-07更新:NetBalancer的最后一个免费版本是9.2.7.该程序具有硬编码的到期日期.在启动NetBalancer服务之前,您需要在2016-10-18之前关闭系统时钟.有关详细信息,请参阅此文

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有