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