如何限制网络接口的带宽使用?

网络工程 带宽
2022-02-21 05:36:19

我使用了一个带有 infiniband 40Gb 交换机的集群。

为了测试我的应用程序,我需要在通信速度较低的网络环境(例如 1Gbps 或 10 Gbps 以太网)下测量性能。

有没有办法限制某个网络接口的网络带宽使用?

2个回答

如果您正在测试应用程序,您可以在虚拟环境中限制速度: - 在 VirtualBox网络带宽限制中或 - 在 VMWare Workstation 中 -为虚拟机配置带宽和丢包设置

使用 VMWare,您甚至可以模拟丢包的不稳定连接!

就在这里。对于 FreeBSD,dummynet可能是答案。然而,现在大多数人使用 Linux 而不是 FreeBSD。您可以在 Linux 中使用tc -- 请参阅链接的速率控制部分。带有 netem 的 tc 还可以为数据包添加恒定或可变延迟。

但是,请考虑实际网络除了低带宽外还具有高延迟。因此,除了有限的带宽之外,您可能还想模拟延迟。否则,您没有足够好地测试您的应用程序。

如果您使用 FreeBSD 或 Linux,则无需更改交换机配置即可获得有限的带宽。可以在运行应用程序的主机上完成。不幸的是,如果您在 Windows 上运行该应用程序,我没有适合您的解决方案。在这种情况下,您需要查看交换机是否具有速率限制选项。并非所有开关都可以。