我有 4 個帶有 SuperMico 10000BaseT NIC 的 CentOS 7 盒子,透過 Cat8 電纜插入 Netgear ProSafe XS712T 交換器。交換器均為預設設置,但顯示 NIC 為 10G Full。 NIC 已配置:
[root@VH11 ~]# ethtool ens1f0
Settings for ens1f0:
Supported ports: [ TP ]
Supported link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
僅 10G 網路卡插入交換器。
在傳輸 1 個 20G 檔案時,rsync、scp 和 iftop 報告的檔案傳輸速度只能達到低於 1G 的傳輸速度。當我使用 iperf 從伺服器 > 交換器 > 伺服器進行測試時,它告訴我它的速度為 9.38 Gbits/sec,但在使用 rsync 或 scp 進行檔案傳輸時我只得到了 10%。
我在這裡做錯了什麼?
在此先感謝您的時間。
新增資訊:對於 1GB 網段:
[root@VH14 ~]# time scp bigfile [email protected]:/home
[email protected]'s password:
bigfile 100% 4494MB 110.1MB/s 00:40
real 0m46.657s
user 0m18.975s
sys 0m4.646s
對於 10GB 網段:
[root@VH14 ~]# time scp bigfile [email protected]:/home/bf3
[email protected]'s password:
bigfile 100% 4494MB 112.3MB/s 00:40
real 0m45.693s
user 0m34.643s
sys 0m8.440s
172.和10.位於不同的交換器上。 10G交換器沒有上行鏈路,僅與伺服器通訊。因此,雖然 iperf 說我得到了大約 10G,但兩個子網路上的傳輸結果本質上是相同的。
我不認為磁碟 i/o 是我的問題:
[root@VH14 ~]# hdparm -t /dev/md126 /dev/md126: Timing buffered disk reads: 4150 MB in 3.00 seconds = 1382.80 MB/sec [root@VH14 ~]# hdparm -T /dev/md126 /dev/md126: Timing cached reads: 19798 MB in 1.99 seconds = 9945.27 MB/sec
進一步資訊:10G NIC 上的 MTU 為 9124。