3

Как быстро перенести большой файл, если мне действительно не нужно безопасное соединение?

Часто я хотел бы скопировать большой файл с локального компьютера на удаленный компьютер. Файл еще не существует на удаленной машине. Я обычно использую scp или rsync (который я думаю , может использовать SSH под так или иначе). Это может быть довольно медленно, и я подозреваю, что это связано не с сетевыми ограничениями, а с попыткой безопасного копирования. Использование шифра Blowfish ничего не улучшает, и я никак не мог заставить работать нулевой шифр.

изменить: для записи, копирование файла ~ 75 МБ заняло около 17 минут, и rsync сообщил 78032,72 байт / сек. Если мои расчеты верны и сеть работает на скорости 10/100 (100 000 000 бит / с), то разве это не всего лишь 0,6% от возможной скорости сети ?!

3 ответа3

1

Используйте bzip2 чтобы сжать файл и посмотреть, может ли он уменьшить размер передаваемого файла. Сжатие должно быть очень эффективным для текстовых файлов, но не сильно повлияет на JPG или видео.

Кстати, пропускная способность загрузки около 512 Кбит / с очень возможна, если вы используете домашнее подключение к Интернету.

1

Проверьте эту тему с serverfault.com и мой ответ:

Если вам нужна скорость, вы можете использовать netcat и tar. Это будет быстрее, чем ssh, rsync или scp в локальной сети, где шифрование не имеет значения. Гугл "netcat tar".

DestinationServer

nc -l -p 7878 | tar -C /target/dir -xzf -

SourceServer

tar -cz /source/dir | nc DestinationServer 7878

Это, очевидно, требует, чтобы netcat был фактически установлен. Google "Netcat tar" для получения дополнительной информации.

1

Вы можете попробовать миррордир - больше здесь. Mirrordir быстрее, чем rsync, потому что у него нет дельта-проверок. Однако даже на своей справочной странице они утверждают, что это опасная команда. Кроме того, я считаю, что больше не поддерживается. Ваш тест чистой пропускной способности сети проводится с помощью dd и netcat, как показано здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .