Итак, недавно у меня возникла необходимость вытащить большой файл через Интернет из одного из наших офисов за рубежом. Оба офиса имеют 50-битные оптоволоконные каналы в обоих направлениях, но время приема-передачи ужасно и варьируется от 450 мс в хороший день и до 750 мс в дерьмовый день.
Первоначально я пытался перетащить файл через VPN-соединение, но после нескольких неудачных передач (smb действительно сосет медленные ссылки) и максимальной скорости около 128 Кбит / с быстрый Google показал, что я столкнулся с проблемами масштабирования окон Windows TCP.
С тех пор я протолкнул файл через коммерческий сервис типа частного облака, который получил этот файл быстрее, поэтому следующее для любопытства больше всего на свете.
В дополнение к этому, доступ в Интернет на обоих концах осуществляется через http-прокси. Однако у меня есть права администратора на машинах с обоих концов.
Как бы вы пошли на улучшение скорости?
Вещи, которые я пробовал:
1) Простой SFTP между двумя виртуальными машинами Linux, используя штопор для пробивки через http-прокси и третьего посредника для соединения двух концов вместе. Достигнутая скорость: около 600 кбит / с.
2) SFTP, но с использованием OpenSSH, пропатченного HPN-SSH. Штопор и промежуточный конфиг такой же, как 1). Небольшое улучшение скорости.
3) Согласно пункту 2, но с использованием LFTP, pget -c -n 10
чтобы разбить передачу на куски. Пока это лучший, видя 3.5MBps ...
Все улучшения приветствуются.