我有两个 Virtualbox VM,一个的网络配置是 NAT,另一个是 NAT+仅主机适配器。我的主机是位于大学实验室的台式机,本地连接速度为 100.0 Mbps,Realtek PCIe GBE 系列控制器 #2。
谁能告诉我,当我在这两个虚拟机之间传输文件时,流量是否通过 LAN?
Linux 命令 iperf 在 10 秒的间隔内为我提供了这两个虚拟机之间大约 180-300Mbps 的带宽。这是否意味着两个虚拟机之间的最大可用带宽大约是这么多?
非常感谢!
答案1
VM 的网络访问通过桥接或 NATing 在主机上进行管理。因此,主机会将流量引导到正确的位置,而这显然不需要离开实际的计算机(并且确实不会离开)。
这种传输所获得的速度将取决于两台机器上使用的虚拟网络适配器,除非主机的负载太高以至于可能影响其操作。
答案2
您可以通过将大型文件从一个虚拟机发送到另一个虚拟机来轻松测试它(并确保使用正确的 IP)。大多数 ftp 流量将是 UDP。UDP 开销约为 6%(如果计算标头和返回的确认)。如果您的 ftp 传输速度超过 100Mbps/1.06,则虚拟机的通信速度比物理设备可能达到的速度更快。您需要注意文件是否足够大,以使 IP 缓冲区无关紧要(因此超过 50 MB),但磁盘 IO 不会开始影响传输速度,因为您在写入虚拟机上饱和了内存磁盘缓存(因此可能不超过 2GB)。
编辑: 此外,无论您使用哪种测试方法,请尝试同时并行运行其中几个。一旦达到添加更多测试实例不再增加网络使用量的程度,您就可以将其视为峰值吞吐量。但这可能会受到每个虚拟机专用的内核数量的限制。因此,如果每个虚拟机只有 2 个专用内核,那么 2 个测试和 3 个测试一起运行之间的速度不会有任何差异(即使 2 个测试的带宽使用量可能高于 1 个测试)。