Загадка экспертов по Linux: выходная сеть 10 МБ / с на 10 ГБ / с NIC

У меня есть два сервера CentOS 6. Я пытаюсь передать файлы между ними. Исходный сервер имеет сетевую карту 10 ГБ / с, а конечный сервер имеет сетевую карту 1 ГБ / с.

Независимо от используемой команды и протокола скорость передачи составляет ~1 мегабайт в секунду. Цель - как минимум пара десятков МБ в секунду.

Я пробовал: 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 здесь не является узким местом.

2 ответа

  1. Убедитесь, что переключатель GigE или выше

    По моему опыту (конфигурации жесткого диска могут отличаться результатами):

    10Base-T ~ 512 КБ / с-1 МБ / с

    100Base-T ~ 1-3 МБ / с

    1GigE ~ 3-11MB/ с

    10GigE ~ 11-40MB/s

  2. Убедитесь, что автоматическое согласование включено на сетевых адаптерах серверов и коммутаторе.

    Несоответствующие переговоры по умолчанию имеют наименьший общий знаменатель в пути

  3. Убедитесь, что коммутатор и сетевые карты сервера используют одинаковый размер MTU

    Базовый MTU составляет 1500. Если ваши серверы и коммутаторы могут поддерживать 9000, попробуйте это.

Если я использую rsync с опцией -W на серверах, подключенных друг к другу только с гигабитом, скорость достигает 80..90MB/s (или даже выше, если fsync не срабатывает). В зависимости от накопителей (sas или ssd) поддерживаемая скорость составляет около 70 МБ / с для ssd, а для sas она составляет от 10 до 70 МБ / с.

Я предполагаю, что коммутатор, к которому подключена ваша карта 10 Гбит / с, отправляет кадры паузы на ваш сервер. Требуется время, чтобы оправиться от этого.

Другие вопросы по тегам