私は SuperMico 10000BaseT NIC を搭載した 4 つの 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 NIC のみです。
1 つの 20G ファイルを転送する場合、rsync、scp、iftop で報告されるファイル転送の転送速度は 1G 未満しか得られません。iperf を使用してサーバー > スイッチ > サーバーからテストすると、9.38 Gbits/秒が得られると表示されますが、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 です。CPU は Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz です。