隨著價(jià)格的下降,目前萬兆以太網(wǎng)正在逐漸進(jìn)入各個(gè)應(yīng)用領(lǐng)域。萬兆以太網(wǎng)的實(shí)際性能是人們感興趣的一個(gè)話題。在理想情況下,通過萬兆以太網(wǎng)是否能達(dá)到10000Mbps的傳輸速度?許多人對(duì)此心存疑慮,而這方面的評(píng)測文章目前網(wǎng)上也比較少見。最近有一專家用兩塊萬兆網(wǎng)卡,對(duì)此問題進(jìn)行一番實(shí)際測試。
測試采用雙機(jī)直連的方法,沒有經(jīng)過交換機(jī)。使用的網(wǎng)卡是兩塊inb的x520 萬兆網(wǎng)卡,每塊網(wǎng)卡擁有2個(gè)萬兆端口,不過以下的測試只用到了其中的一個(gè)端口。
測試環(huán)境為Linux操作系統(tǒng),內(nèi)核版本是3.1.1。測試軟件方面,為了達(dá)到最高的傳輸速率,采用的是直接socket編程的方法,在兩臺(tái)機(jī)器間通過tcp/ip協(xié)議發(fā)送/接收數(shù)據(jù)。實(shí)時(shí)流量則通過讀取Linux系統(tǒng)的/proc/net/dev設(shè)備文件得到。這樣得到的流量包含了tcp/ip包的頭部數(shù)據(jù),比程序中看到的要更準(zhǔn)確一些。
測試前先用ethtool工具察看網(wǎng)卡的工作狀態(tài),確認(rèn)都已處于10000Mb/s的狀態(tài):
root@pc2:~# ./ethtool eth2
Settings for eth2:
Supported ports: [ TP ]
Supported b modes: 1000baseT/Full
10000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised b modes: 1000baseT/Full
10000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 10000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: external
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe b
Link detected: yes
網(wǎng)卡參數(shù)方面,基本上均為系統(tǒng)默認(rèn)值。所作的唯一優(yōu)化是把網(wǎng)卡的mtu參數(shù)調(diào)大了一些,本測試中mtu的值設(shè)置為6000。
下面是一些具體的測試結(jié)果(這里1MB表示1000000字節(jié)):
1. 單向單線程傳輸測試(從pc1向pc2單線程發(fā)送數(shù)據(jù))
測試結(jié)果:pc1出流量的實(shí)測速度約為1036MB/s(漲落<2MB/s)。
這個(gè)傳輸速度相當(dāng)于約8288Mbps,離萬兆網(wǎng)絡(luò)的理論帶寬還有一些差距。