LINUX.ORG.RU
ФорумAdmin

Как максимально быстро скачать файл с одного linux хоста на другой

 , ,


0

1

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

Пробовал как минимум так:

rsync -hrtplu --progress user@host:/path/to/big/file
scp -O Cipher=blowfish-cbc user@host:/path/to/big/file

Может быть я просто не умею их готовить...

Как быть?


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

Самы быстрый способ это передача без шифрования

ism
()

Насщет rsync не скажу, а scp для передачи больших файлов не подойдет. Там блочный протокол и скорость зависит от задержек (ping time).

Простой HTTP/FTP даст минимальный оверхед и высокую потоковую скорость на больших файлах.

zaz
()

rsync -hrtplu --progress user@host:/path/to/big/file

Так оно у тебя копируется овер ssh, т.е. затраты на шифрование.

Проще всего скопировать при помощи netcat: cat file | netcat host port на одном конце и netcat -l -p port > file на другом

Deleted
()

Ты бы хоть примерно описал в каких локациях хосты находятся. Возможно есть проблемы с NAT или просто очень далеко друг от друга находятся, или же там проблемы с интернетом на одном из хостов и он вообще не всегда включен.
Если, а приватности информации речь не идет, то можешь вообще затарить, и слить потом с веб-сервера aria во много потоков, такой вот костыльный способ например, как скачать действительно очень быстро. Если же хосты реально очень далеко друг от друга, и соединение нестабильно, то можешь скачать через промежуточный или смотри с сторону syncthing, например. (который стал очень приятным открытием для меня, за последнее время). Да самое прикольное в syncthing, это то, что чем больше у тебя хостов и копий данных, тем быстрее все будет.

anonymous_sama
()
Ответ на: комментарий от Deleted

arcfour

В новых версиях openssh его, вроде, выкинули по умолчанию. Я использовал на старых системах совместно с каким то дешевым nas, типа qnap. Благодаря arcfour и -W удалось избавиться от узкого горлышка процессора.

Пишут «For newer hardware (both sides have CPU with AES-NI), I recommend „aes128-gcm@openssh.com“ as an alternative.»

Deleted
()
Ответ на: комментарий от Deleted

Да тачки тоже вроде не кислые, по крайней мере не настолько.

Вообщем щас я уже опоздал со скачкой поэтому сижу и уже из вредности играюсь со split и socat :)

pon4ik
() автор топика
Ответ на: комментарий от anonymous_sama

Хосты друг с другом через одно место. Через vpn и ещё одну локальную сеть. Пинги по сотке. Т.е. как раз с конфиденциальностью всё улёт.

Путь: подмосковье -> минск -> москва -> подмосковье. Т.е. не сказать что далеко далеко, не Австралия.

Через тот же vpn и с теми же пингами со всяких веб сервачков качает влёт. Примерно в тех же локациях.

pon4ik
() автор топика

ибо скорость получается на пару порядков ниже скоростей выходного и входного каналов.

Т.е. вместо 10 Мбайт/с где-то всего лишь 100 Кбайт/с?

gag
()
Ответ на: комментарий от gag

Единстенное, может где то в этой распрекрасной цепочке, кто то жлобит выходную скорость. Но куда у меня есть доступ я проверил (спид тестами всякими, по нубски конечно, ну а что делать), а куда нету, там очень вряд ли будут на таких спичках экономить.

pon4ik
() автор топика

Вообщем лучшее что удалось сделать это посплитать на 10 частей и в эти 10 потоков послать и принять socat'om. Скорость ~1mbs против изначальных ~80kbs. Уж не знаю с чем это связано, но где то я и до этого слышал что так гораздо быстрее выходит.

pon4ik
() автор топика
Ответ на: комментарий от pon4ik

Попробуй через nc, можешь также параллельно запаковывать. А вообще есть хочется чего-то нового и интересного то можешь попробовать ssfcp (судя по всему в том числе и over udp).

anonymous_sama
()
Ответ на: комментарий от anonymous_sama

Щас пока качается через socat, уже и так пожатое.

За наводку на тулятину спасибо, звучит интересно.

pon4ik
() автор топика

Странно, но rsync очень быстро отработал когда переносил данные с России в Нидерланды. Но там немного, ~50gb где-то было.

ritsufag
()
Ответ на: комментарий от pon4ik

и в эти 10 потоков послать и принять socat'om. Скорость ~1mbs против изначальных ~80kbs.

Раньше (а может где-то и всё ещё?) были популярны «ускорители» закачек: загрузка в несколько потоков (соединений). Причина? Сервера искусственно ограничивали скорость для соединения (одного), но тем не менее позволяли себя легко обмануть. Думаю, и тут дело не в rsync, а в чём-то похожем.

gag
()
Ответ на: комментарий от ritsufag

Ну, у меня тоже немного, 2.5 gb :)

Вот я и спросил может я не так готовлю rsync. Пока отвечали, запилили многопоточную качалку из соката. Как докачается, стёба ради попробую ещё с rsync.

pon4ik
() автор топика

Все забыли, что у rsync есть собственный протокол без шифрования (читаем про rsync daemon в мануале), как раз для задач, когда надо быстро и помногу?

frozen_twilight
()
Ответ на: комментарий от frozen_twilight

Не то что забыл :)

Не знал. Спасибо.

pon4ik
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.