Почему rsync по SSH дает мне 10x пропускную способность SCP?

  1. scp user@aws-ec2:~/file file
  2. rsync --partial --progress -Pav -e ssh user@aws-ec2:~/file file

scp только дает мне 200K / s, но rsync дает мне 1.9 M / s

Я проверял несколько раз, все же результаты.

rsync использует несколько потоков??

30
задан a CVn
18.05.2023 0:16 Количество просмотров материала 2416
Распечатать страницу

2 ответа

оба протокола основаны на SSH. И SSH сама имеет некоторые накладные: wiki

SCP действительно наивный протокол с действительно наивным алгоритмом передачи нескольких небольших файлов. Он имеет много синхронизации (RTT-время поездки туда и обратно) и небольшие буферы (в основном 2048 b -источник).

Rsync сделано для производительности, и поэтому она дает гораздо лучшие результаты и имеют больше возможностей.

ускорение 10x специфично для вашего случая. Если бы вы передавали файлы по всему миру по полосам с высокой задержкой, вы бы получили гораздо худшую производительность на scp случай, но на локальной сети, представление может быть почти этим же.

и нет, сжатие (-C на scp) не поможет. Наибольшие проблемы связаны с задержкой и размером буфера.

5
отвечен Jakuje 2023-05-19 08:04

RSYNC vs SCP

SCP в основном делает простую старую копию из источника в пункт назначения локально или по сети с помощью SSH, но вы можете быть в состоянии использовать -C включите сжатие SSH, чтобы ускорить копирование данных по сети.

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

RSYNC

описание

   rsync is a program that behaves in much the same way that rcp does, but
   has many more options and uses  the  rsync  remote-update  protocol  to
   greatly  speed  up  file  transfers  when the destination file is being
   updated.

   The rsync remote-update protocol allows rsync to transfer just the dif-
   ferences between two sets of files across the network connection, using
   an efficient  checksum-search  algorithm  described  in  the  technical
   report that accompanies this package.

источник


SCP

описание

 scp copies files between hosts on a network.  It uses ssh(1) for data
 transfer, and uses the same authentication and provides the same secu‐
 rity as ssh(1).  scp will ask for passwords or passphrases if they are
 needed for authentication.




 File names may contain a user and host specification to indicate that
 the file is to be copied to/from that host.  Local file names can be
 made explicit using absolute or relative pathnames to avoid scp treat‐
 ing file names containing ‘:’ as host specifiers.  Copies between two
 remote hosts are also permitted.

source

7
отвечен Pimp Juice IT 2023-05-19 10:21

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

linux
networking
rsync
scp
ssh
Вверх