POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 11152|回复: 15
打印 上一主题 下一主题

万兆以太网双端口并发实现理论峰值 (12.08更新: 单向19968Mbps, 双向39832Mbps)

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-5 17:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 intel10k 于 2011-12-11 19:07 编辑

在昨天的万兆网卡单端口传输速度极限测试中(http://we.pcinlife.com/thread-1795724-1-1.html),我们测试得到的结果十分理想,实测单向/双向带宽均达理论峰值带宽的99%以上。经过一些参数调整,最后得到的最高单向传输速度是稳定的1248MB/s,达到了万兆理论带宽的99.84%。

这个传输速度看似非常强大,已经比一般硬盘的速度快了不少。但是,万兆网卡作为目前网卡中的高端型号其比较对象应该是高端SSD硬盘,如果这样一对比就会发现这个速度其实并不是想象得那么强。硬盘技术最近也在突飞猛进地发展,在百度上搜了一下,找到的民用领域硬盘传输速度的纪录是这一个:

http://digi.tech.qq.com/a/20090902/000457.htm

这是译自一家国外网站做的评测,他们利用16块intel X25-E SSD加上两块LSI的6.0Gbps SAS阵列卡组成RAID0,最大读取速度达到了惊人的3.5GB/s。需要说明的是这只是2009年的纪录,之后应该有更高的纪录但我暂时没有找到。实际上,现在连单块SSD的读写速度都已经逼近了这一纪录,目前单块SSD的读写速度已经接近3GB/s(如OCZ的天价SSD硬盘Z-Drive R4实测达2.8GB/s)。这些传输速度都已经远远超过了单块万兆网卡的极限,如果在配有此类高端硬盘的机器之间传输文件,那么连万兆网络都会成为瓶颈。

本测试所使用的网卡拥有两个万兆端口,在昨天的测试中只使用了其中的一个端口,如果两个端口并发显然应该达到更高的的速度。但是否也能达到理论峰值的99%? 下面我们就对此进行测试。

类似于硬盘作RAID,网卡可以通过端口bonding(汇聚)技术提升传输速度。但是,网卡bonding会对总性能会造成细微的损失。因此,在以下测试中我们并不使用bonding技术,而是直接通过双端口进行多线程传输测试。这样做可以测出网卡的极限传输性能,这也是我们测试目的所在。

除了连接双绞线从1根改为2根外,测试的其他软硬件环境和昨天的相同,因此这里不再复述。下面是具体的测试结果:

双万兆端口并发测试结果
1、单向单线程测试(从pc1的两个万兆端口上各用1个线程向pc2发送数据)
测试结果:pc1两个端口的出流量实测速度之和约为1800MB/s(14400Mbps),这个速度仅为单端口极限实测速度的1.44倍,有些令人失望。

2、单向多线程测试(从pc1的两个万兆端口上各用多个线程向pc2发送数据)
测试结果:传输速度不升反降,变为1770MB/s左右,比单线程时还少了30MB/s。

因此,单线程的1800MB/s就是我们测得的双端口并发最大传输速度。这个速度仅相当于理论峰值速度的72%,而前面单端口的测试速度可以轻易达到理论峰值的99%以上(无论哪个端口)。因此这个成绩并不十分理想。
11.12.07更新: 已确认是PCI-e插槽问题,换了机器重新测试,现在的双端口并发传输速度2369MB/s(18950Mbps),已达到理论峰值的94.75%

3、双向单线程测试
测试结果:双向传输速度之和为约3063MB/s(24500Mbps)。这个速度比起单向速度的两倍又有不小的损耗。

4、双向多线程测试
测试结果:传输速度有所提升,但提升幅度不大,最大实测值为约3240MB/s(25900Mbps)。
这个速度相当于单端口双向实测速度的1.31倍,相当于理论峰值的65%。

总结:从以上测试结果看,双端口的测试结果和单端口差别明显。双端口实测峰值为单向1800MB/s,双向3063MB/s,和理论峰值有较大差距。我估计瓶颈很可能出在PCI-e带宽上面。这块卡应该是PCI-e 2.0 x8的接口,但是从以上测试看,似乎只发挥出了PCI-e 2.0 x4(或PCI-e 1.0 x8)的性能。如果这一瓶颈问题能够解决,相信性能还会有大幅提升。

[11.12.08更新]
在昨天更换机器后的测试中,虽然双口单向性能有了提升,但是测试成绩离理论峰值还有差距。分析后认为,虽然网卡已经工作在x8模式,但测试的主板和CPU都只是普通PC平台,无法充分发挥这款网卡的性能。如何解决?看来只有继续换机器。

今天,把网卡换到了intel Xeon 5600系列双路服务器平台继续测试。结果非常令人满意。测试成绩果然继续飙升,最后4项测试均完美达到了双万兆网卡的理论极限峰值。

最终测试成绩:
单端口单向:成绩仍然是1248MB/s(9984Mbps),达到理论峰值的99.84%
(看来这已经是极限速度,无法继续提升了)

单端口双向:小幅提升至2491MB/s(19928Mbps),达到理论峰值的99.64%

双端口单向:大幅提升至2496MB/s(19968Mbps),达到理论峰值的99.84%

双端口双向:大幅提升至4979MB/s(39832Mbps),达到理论峰值的99.58%

至此,所有测试指标均已超过理论峰值的99%,充分验证了万兆以太网性能的真实性。本次测试完美结束。



2#
发表于 2011-12-5 22:49 | 只看该作者
牛~~ ~~~~~~~~
回复 支持 反对

使用道具 举报

eva00 该用户已被删除
3#
发表于 2011-12-6 15:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

4#
发表于 2011-12-6 16:57 | 只看该作者
唉,连千兆网络都没上得路过
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2011-12-6 20:21 | 只看该作者
谢谢3楼的建议。打算过几天换两台机器再测一下,如有新的结果我会发上来。
回复 支持 反对

使用道具 举报

6#
发表于 2011-12-7 12:50 | 只看该作者
请问楼主,此时CPU的占用率上表现怎么样?

回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2011-12-7 13:26 | 只看该作者
本帖最后由 intel10k 于 2011-12-7 13:27 编辑

每个线程占用的CPU都在一个CPU核心的80%左右,server端比client端稍高一点。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2011-12-7 21:49 | 只看该作者
已确认是PCi-e插槽模式的问题。换了机器重新测试,现在的双端口并发的单向传输速度由原先的1800MB/s提升到了2369MB/s(18950Mbps),已经达到了理论带宽的94.75%。
不过双口双向并发传输还有其他问题待解决,暂时还没有超过原先的成绩。
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2011-12-8 13:22 | 只看该作者
本帖最后由 intel10k 于 2011-12-11 19:14 编辑

在昨天更换机器后的测试中,虽然双口单向性能有了提升,但是测试成绩离理论峰值还有差距。分析后认为,虽然网卡已经工作在x8模式,但测试的主板和CPU都只是普通PC平台,无法充分发挥这款网卡的性能。如何解决?看来只有继续换机器。

今天,把网卡换到了intel Xeon 5600系列双路服务器平台继续测试。结果非常令人满意。测试成绩果然继续飙升,最后4项测试均完美达到了双万兆网卡的理论极限峰值。

最终测试成绩:
单端口单向:成绩仍然是1248MB/s(9984Mbps),达到理论峰值的99.84%
(看来这已经是极限速度,无法继续提升了)

单端口双向:小幅提升至2491MB/s(19928Mbps),达到理论峰值的99.64%

双端口单向:大幅提升至2496MB/s(19968Mbps),达到理论峰值的99.84%

双端口双向:大幅提升至4979MB/s(39832Mbps),达到理论峰值的99.58%

至此,所有测试指标均已超过理论峰值的99%,充分验证了万兆以太网性能的真实性。本次测试完美结束。

回复 支持 反对

使用道具 举报

10#
发表于 2011-12-9 15:39 | 只看该作者
这个,,,是商业网站服务器/大型科研单位用的吧,家用,,,硬盘撑不住啊,,,
回复 支持 反对

使用道具 举报

11#
发表于 2011-12-9 15:40 | 只看该作者
这个,,,是商业网站服务器/大型科研单位用的吧,家用,,,硬盘撑不住啊,,,
回复 支持 反对

使用道具 举报

12#
发表于 2011-12-10 15:44 | 只看该作者
双路志强才能发挥万兆网络的威力?
回复 支持 反对

使用道具 举报

13#
 楼主| 发表于 2011-12-10 16:41 | 只看该作者
本帖最后由 intel10k 于 2011-12-10 16:45 编辑
aliguagua 发表于 2011-12-10 15:44
双路志强才能发挥万兆网络的威力?


从目前测试结果看,跑单口万兆对机器的要求并不高,用一般的PC就可以跑出万兆的极限速度。
而万兆双口双向总共是40000Mbps带宽,要求就要高一些了,CPU、主板都不能有瓶颈,如果是低端PC就很难跑到理论峰值。

不过从本文测试结果也可以看出,用双路至强跑满双向40000Mbps的带宽很轻松,完全可以支持更高的带宽。
回复 支持 反对

使用道具 举报

14#
发表于 2011-12-11 01:18 | 只看该作者
本帖最后由 feelgood828 于 2011-12-11 01:20 编辑
intel10k 发表于 2011-12-10 16:41
从目前测试结果看,跑单口万兆对机器的要求并不高,用一般的PC就可以跑出万兆的极限速度。
而万兆双口 ...

有试过在i7+X58或i5+Z68上测试吗? 这个实用意义会更大
回复 支持 反对

使用道具 举报

15#
 楼主| 发表于 2011-12-11 11:34 | 只看该作者
曾经拿到一台i7 920+gigabyte x58 ud4的机器上测试,可惜bios自检过不了没办法进系统,因此测试没有完成。
回复 支持 反对

使用道具 举报

16#
 楼主| 发表于 2011-12-11 13:09 | 只看该作者
最后简单说一下4个万兆端口并发的初步测试结果:
实测单向传输最大4750MB/s左右,达到理论峰值的95%;
实测双向传输当速度大于6000MB/s时系统不稳定(Linux 3.1.1内核),可能是intel网卡驱动有bug。最大只测到6200MB/s左右。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2024-11-22 00:12

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表