SSH를 통한 rsync가 SCP 처리량의 10 배를 제공하는 이유는 무엇입니까?


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

scp200K / s 만 rsync제공 하지만 1.9M / s 만 제공

나는 모두 같은 결과를 여러 번 테스트했습니다.

rsync 여러 스레드를 사용합니까 ??

답변:


7

두 프로토콜 모두 SSH를 기반으로합니다. 그리고 SSH 자체에는 약간의 오버 헤드가 있습니다 . 위키

SCP는 몇 개의 작은 파일을 전송하기위한 순진한 알고리즘을 갖춘 순진한 프로토콜입니다. 많은 동기화 (RTT-왕복 시간)와 작은 버퍼 (기본적으로 2048 B- 소스 )가 있습니다.

Rsync는 성능을 위해 만들어 졌으므로 훨씬 더 나은 결과를 제공하고 더 많은 기능을 제공합니다.

10 배 속도 향상은 사용자의 상황에 따라 다릅니다. 대기 시간이 긴 레인을 통해 전 세계에 파일을 전송하는 scp경우 케이스에서 성능이 훨씬 떨어지지 만 로컬 네트워크에서는 성능이 거의 동일 할 수 있습니다.

그리고 압축 ( -Cfor scp)은 도움이되지 않습니다. 가장 큰 문제는 대기 시간과 버퍼 크기입니다.


7

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.

출처


3
이 경우 상황은 약간 다릅니다. 그는 단일 파일 만 복사하고 있습니다. (아마도 아직 원격 끝에 존재하지는 않습니다.)
Daniel B

1
@DanielB 기본적으로 RSYNC 는 기본적으로 하나의 파일에 대해 데이터 연결을 최적화하고 전송 중에 데이터를 압축하여 데이터 청크가 실제로 파이프로 전송되는 동안 스위치가 없는 SCP는 그렇지 -C않습니다. t 파이프로 전송하는 동안 데이터를 압축합니까?
Pimp Juice IT

2
압축과 체크섬은 rsync명령 행에 지정되어 있지 않습니다 . 물론 파일 내 델타 알고리즘이 항상 활성화되어 있습니다. 아마 그게 scp짜증 일 것입니다 .
Daniel B
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.