Загадка экспертов по 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 ответа
Убедитесь, что переключатель GigE или выше
По моему опыту (конфигурации жесткого диска могут отличаться результатами):
10Base-T ~ 512 КБ / с-1 МБ / с
100Base-T ~ 1-3 МБ / с
1GigE ~ 3-11MB/ с
10GigE ~ 11-40MB/s
Убедитесь, что автоматическое согласование включено на сетевых адаптерах серверов и коммутаторе.
Несоответствующие переговоры по умолчанию имеют наименьший общий знаменатель в пути
Убедитесь, что коммутатор и сетевые карты сервера используют одинаковый размер MTU
Базовый MTU составляет 1500. Если ваши серверы и коммутаторы могут поддерживать 9000, попробуйте это.
Если я использую rsync с опцией -W на серверах, подключенных друг к другу только с гигабитом, скорость достигает 80..90MB/s (или даже выше, если fsync не срабатывает). В зависимости от накопителей (sas или ssd) поддерживаемая скорость составляет около 70 МБ / с для ssd, а для sas она составляет от 10 до 70 МБ / с.
Я предполагаю, что коммутатор, к которому подключена ваша карта 10 Гбит / с, отправляет кадры паузы на ваш сервер. Требуется время, чтобы оправиться от этого.