我需要测试各种弹性文件传输方法,这些方法需要在极慢且间歇性不可靠的网络上工作。我有一台服务器和一台客户端可用于测试传输,但我需要一种方法来限制客户端计算机上的带宽,以模拟糟糕的网络。例如,我看到 Chrome 开发工具中有各种工具可以限制带宽,但我想对整个客户端计算机的连接进行全局限制,这样我就可以确保各种传输方法能够优雅地应对缓慢的网络。
有人有什么建议/方法可以帮助我实现这一目标吗?
答案1
最佳解决方案: 使用 wondershaper (linux):
wondershaper [interface] [down] [up]
,对于你来说,情况是这样的:
wondershaper eth0 256 128
——这相当于下载速度为 256kbps,上传速度为 128kbps。
您可以将客户端上的 NIC 设置为 10 mbit/s
视窗:
Device Manager > Right-Click NIC > Advanced >
> Speed & Duplex > Set "10 Mbps Full Duplex" or "10 Mbps Half Duplex"
Linux:
apt-get install ethtool
ethtool -s eth0 speed 10 duplex half (or duplex full, your choice) autoneg off
ip set dev eth0 down && ip set dev eth0 up --OR-- ifconfig eth0 up && ifconfig eth0 up
您可以通过服务器和客户端之间的随机文件传输占用带宽,并在它们运行时运行所需的测试。