Скорость передачи файлов в локальной сети

Я перевожу с 1 хоста Linux на другой хост с Linux около 15 ТБ данных. Хост отправителя имеет следующие сетевые карты:

[44.206701] igb: соединение NIC eth0 увеличено до 1000 Мбит / с в полнодуплексном режиме, управление потоком: RX / TX

[44.274112] bonding: bond0: определенно статус соединения для интерфейса eth0, полнодуплексный режим 1000 Мбит / с.

[44.278534] igb: соединение NIC eth1 установлено на 1000 Мбит / с в полнодуплексном режиме, управление потоком: RX / TX

[44.573636] bonding: bond0: определенно статус соединения для интерфейса eth1, полнодуплексный режим 1000 Мбит / с.

Хост получателя имеет эту сетевую карту:

[16.964486] e1000e: соединение NIC eth0 установлено на 100 Мбит / с в полнодуплексном режиме, управление потоком: отсутствует

Моя максимальная скорость передачи сейчас составляет 11 МБ / с. Мне интересно, что мне нужно сделать, чтобы увеличить скорость передачи? обновить приемник сетевой карты?

Спасибо!

5 ответов

Решение

Сторона получателя соединяется только со скоростью 100 Мбит / с:

e1000e: соединение NIC eth0 установлено на 100 Мбит / с в дуплексном режиме, управление потоком данных: нет

которые переводят примерно до 12,5 МБ / с максимальной сырой полосы пропускания. После учета издержек IP/TCP при скорости 11 МБ / с вы в основном максимизируете пропускную способность вашего приемника.

Было бы лучше иметь сетевую карту на 1 гигабайт на принимающем компьютере, да, также, я могу видеть в тегах, что вы используете scp.

scp обычно очень плох для важных передач данных, у меня всегда была ужасная производительность

попробуйте ftp (но он не зашифрован), вы заметите важную разницу со скоростью передачи.

ftp (или другой протокол / программа, но не scp) + хотя бы 1000 МБ NIC на принимающей машине явно помогут вам

Обе стороны должны быть на 1000full, если у вас плохой кабель, принудительно /* жестко запрограммируйте скорость на стороне коммутатора, он будет синхронизироваться при 100 Full на принимающей стороне.

Посмотрите, как настроен коммутатор, если его авто-автоматически установил ваш интерфейс жестко закодированным на 1000full, если он не поднимается при такой скорости, проверьте кабели. до переключения.

на 12 МБ вы на полной скорости. e1000e - это гигабитный интерфейс, который должен синхронизироваться до этой скорости. ваша передача должна быть от 300 до 800 Мбит / с (от 30 до 80 МБ) в зависимости от возможностей хоста.

Как и предполагали другие, причина того, что вы получаете только 11 Мбит / с, заключается в том, что принимающая сетевая карта имеет скорость соединения 100 Мбит, несмотря на то, что теоретически карта способна обрабатывать 1 Гбит.

Единственная возможная причина, по которой я могу думать, это то, что сетевой адаптер подключен к коммутатору 100 Мбит или карта настроена на автоматическое согласование скорости и имеет неправильную скорость. В этом случае вы должны быть в состоянии заставить NIC работать на 1 Гбит.

При текущей скорости передачи вам потребуется около 15 дней, чтобы перевести 15 ТБ ( http://www.thecloudcalculator.com/calculators/file-transfer.html).

При подключении 1 Гбит на стороне приемника это займет около 1,5 дней.

Вы передаете данные близко к пределу принимающего интерфейса, хотя он не работает на максимальной скорости. Могут ли ваши переключатели справиться со скоростью?

Ваше узкое место может быть скоростью, с которой вы можете читать или записывать на диск, или это может быть узким местом в сети. Несколько вопросов:

  • Как вы переносите данные? (Образы дисков могут быть быстрее, чем отдельные файлы.)
  • Какие типы дисков у вас в системах? (Флэш-накопители, как правило, быстрее жестких дисков. Рейдовые системы могут увеличивать время записи. Скорость интерфейса часто выше скорости чтения / записи.)
  • Каковы их скорости передачи? (Неважно, насколько быстро работает сеть, если вы не можете читать или записывать данные со скоростью, близкой к скорости передачи по сети.)
  • Насколько велики файлы, которые вы передаете? (Маленькие файлы имеют больше файловой системы.)
  • Использует ли целевая файловая система журнал? (Это добавляет дополнительные издержки записи, если вы не отключите журнал.)
  • Вы буферизуете данные, передаваемые по сети? (Буферизация позволяет передавать данные, которые еще не могут быть записаны, по сети.)
  • Можете ли вы запустить несколько передач параллельно? (Если передачи выполняются на разных дисках, вы можете увеличить общую скорость передачи. Слишком много параллельных передач приведет к дополнительным издержкам, которые могут замедлить перемещение файлов.)
  • Является ли поток передачи зашифрованным / сжатым? (Любой из них может добавить издержки. Сжатие может компенсировать узкое место в сети.)
  • Есть ли ошибки на любом из интерфейсов? (Дуплексные несоответствия могут вызвать проблемы.)
  • Сетевые карты / порты коммутатора работают на полную мощность / скорость? (Если какое-либо устройство в сети работает на полную мощность, это становится узким местом. Если они не работают на полной скорости, это снижает доступную пропускную способность.)

Как отмечено в моем комментарии, Ethernet-карта принимающей системы, кажется, работает на 1/10 максимальной скорости. Достигнутая скорость передачи данных близка к максимально достижимой без сжатия при текущей скорости сетевой карты.

Запуск rsync в режиме демона с одной стороны может обеспечить лучшую производительность, чем туннелирование с использованием SSH. Использование rsync в качестве демона связано с безопасностью.

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