首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >virtio /proc/net/dev

virtio /proc/net/dev
EN

Server Fault用户
提问于 2011-09-17 11:08:09
回答 1查看 663关注 0票数 1

在大学里,我们正在做一些VM (citrix-xen) /真正的机器基准测试,并且出现了一种奇怪的行为。我们使用netperf的流测试来保证两台机器之间的性能。两者的值相同,为940 mbit,但/proc/net/dev的输出不同:

代码语言:javascript
复制
117 MB/sec vs. 112 MB/sec.

我试图在家里用VirtualBox重现这种情况。我在VM上和VM的主机上用nload测量了显示的流量。

当使用模拟1000 When设备时:

代码语言:javascript
复制
vm says: 107 MB/sec
vm host says: 107 MB/sec

这两个值都匹配。到目前一切尚好。但是当使用virtio设备时:

代码语言:javascript
复制
vm says: 102 MB/sec
vm host says: 107 MB/sec

这些值不匹配。因此,罪魁祸首似乎是半虚拟化网络设备。有人知道这个问题吗?我猜想,通常从/proc/dev/net列出的“字节”是用于以太网帧的,当使用半虚拟化设备时,它只列出数据包的字节(没有头),因为VM主机会处理整个数据包吗?

如有任何建议,请参阅:)

EDIT1:

我只是用wireshark做了些测试。Wireshark说:线上有1514字节,一个数据包包含1448字节的数据。从1448年开始,我们需要乘以1,0456 (大约)。当从上面乘以102 MB时,我们得到106,7 MB的=> ~107 MB。

=>似乎被证明了半虚拟化网络跳过/proc/net/dev中的头字节。

EDIT2:

我不是在问半虚拟化网络是否比模拟网络更快。我已经知道这是既定的。从我提到的值中可以看出,在这两种情况下,流量都是107 MB/秒(当然,CPU的使用也不同)。

但是/proc/net/dev列出了VM中的不同值。在主机内部,这两个值是相同的!因此,我想问的是,当使用半虚拟化网络驱动程序时,/proc/net/dev/是否列出了不同的值(例如没有数据包报头)。

EN

回答 1

Server Fault用户

发布于 2011-09-18 04:42:52

是。虚拟网络设备发送数据的速度可以快于网卡公布的速度。

您还可以在本地主机上对此进行基准测试,以查看此结果。

一些关于基准测试和故障排除虚拟网络的重要参考资料:

http://wiki.xen.org/xenwiki/Network_吞吐率_指南

http://openvswitch.org/papers/hotnets2009.pdf

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

https://serverfault.com/questions/312482

复制
相关文章

相似问题

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