CentOS6サーバーが2台あります。それらの間でファイルを転送しようとしています。ソースサーバーには10GB /秒のNICがありますNIC nd宛先サーバーには1GB /秒のNICがあります。
使用するコマンドやプロトコルに関係なく、転送速度は約1メガバイト/秒です。目標は、少なくとも1秒あたり数十MBです。
私が試したのは、rsync(さまざまな暗号化を使用)、scp、wget、aftp、ncです。
iperf
を使用したテスト結果は次のとおりです。
[root@serv ~]# iperf -c XXX.XXX.XXX.XXX -i 1
------------------------------------------------------------
Client connecting to XXX.XXX.XXX.XXX, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 3] local XXX.XXX.XXX.XXX port 33180 connected with XXX.XXX.XXX.XXX port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 1.30 MBytes 10.9 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 1.0- 2.0 sec 1.28 MBytes 10.7 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 2.0- 3.0 sec 1.34 MBytes 11.3 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 3.0- 4.0 sec 1.53 MBytes 12.8 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 4.0- 5.0 sec 1.65 MBytes 13.8 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 5.0- 6.0 sec 1.79 MBytes 15.0 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 6.0- 7.0 sec 1.95 MBytes 16.3 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 7.0- 8.0 sec 1.98 MBytes 16.6 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 8.0- 9.0 sec 1.91 MBytes 16.0 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 9.0-10.0 sec 2.05 MBytes 17.2 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.68 MBytes 14.0 Mbits/sec
ここではHDがボトルネックではないと思います。
スイッチがGigE以上であることを確認します
私の経験では(ハードドライブの構成によって結果が異なる場合があります):
10Base-T〜512KB/s-1MB/s
100Base-T〜1〜3MB /秒
1GigE〜3-11MB/s
10GigE〜11-40MB/s
サーバーのNICとスイッチの両方でオートネゴシエーションが有効になっていることを確認します
不一致のネゴシエーションは、デフォルトでパス内の最小公分母になります
スイッチとサーバーのNICがすべて同じMTUサイズを使用していることを確認します
基本MTUは1500です。サーバーとスイッチが9000をサポートできる場合は、それを試してください。
ギガビットだけで相互に接続されているサーバーで-Wオプションを指定してrsyncを使用すると、速度は80..90MB/sで最高になります(fsyncがヒットしなかった場合はさらに高速になります)。維持されるドライブ(sasまたはssd)に応じて、ssdでは約70MB/sであり、sasでは10〜70MB/sの範囲です。
私の推測では、10Gb/sカードが接続されているスイッチは、一時停止フレームをサーバーに送信しています。それから回復するには時間がかかります。