首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Linux来宾VM在网络方面比Windows客户虚拟机表现更好?

问为什么Linux来宾VM在网络方面比Windows客户虚拟机表现更好?
EN

Server Fault用户
提问于 2014-08-27 18:10:35
回答 1查看 920关注 0票数 -1

我正在使用Iperf和Netperf测试Xen和Hyper-V中V的网络性能.在这两个管理程序中,我发现在不同模式下的Linux来宾VM具有相对较高的性能。即使是完全虚拟化的Linux也比带有PV驱动的Windows客户VM表现出更好的性能。

因此,对于每个虚拟机,我使用回送地址在同一虚拟机上创建客户机-服务器模型。我在所有虚拟机上建立了相同的测试,我没有指定任何缓冲区大小或窗口大小,而是留给工具来决定。

例如,使用以下命令测试TCP连接:

iperf -c 127.0.0.1

或

netperf -H 127.0.0.1

我得到了Iperf在32位环境下对Hyper-V的后续结果:

Linux (开明):18 Gbit/S Linux (未开悟):10.5 Gbit/S Windows (开明):3 Gbit/s (FV+IS):0.5 Gbit/ Windows (未开悟):0.4 Gbit/10.5

管理程序和两个工具都显示了相同的性能,在64位环境中也是如此。

有什么解释吗?!

注意:安装了Integration的FV+IS >>未开明的来宾VM。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-08-27 19:37:04

您的基准测试没有测试两种操作系统的网络性能。

Linux将回送设备实现为纯软件层,没有与实际网络设备的连接。在Windows上,连连接到127.0.0.1地址的回送设备都没有。

所有的测试都可以测量CPU调度和内存带宽的性能。Linux和Windows有非常不同的网络栈,我不确定是否有人会注意在回送设备驱动程序(或Windows内核中的任何等效程序)上进行性能优化。

您所使用的特定应用程序是否通过本地TCP/IP连接传输大量数据?如果是这样的话,这是本地传输数据的最低效的方法之一。

关于实际的网络性能,请注意Windows和Linux有不同的网络堆栈,具有不同的默认设置。您应该研究应用程序将在缓冲区、TCP窗口等方面使用什么,并相应地调整iperf/netperf以模拟该行为。然后在同一台主机上传输不同VM之间的数据,在不同主机上传输VM、VM和物理服务器等,注意网络端口的设置、上行链路的饱和等。

同样,您的测试只是对非优化算法和数据结构进行基准测试,这些算法和数据结构纯粹在软件中运行。

编辑:您可能想了解更多关于Windows 2012和Windows8中回环网络中的改进的信息。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/624516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档