Tại sao rsync qua SSH cung cấp cho tôi gấp 10 lần thông lượng của SCP?


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

scpchỉ cho tôi 200 nghìn / giây, nhưng rsynccho tôi 1,9 triệu / giây

Tôi đã thử nghiệm nhiều lần, tất cả đều cho kết quả như nhau.

rsync sử dụng nhiều chủ đề ??

Câu trả lời:


7

Cả hai giao thức đều dựa trên SSH. Và bản thân SSH cũng có một số chi phí : wiki

SCP là giao thức thực sự ngây thơ với thuật toán thực sự ngây thơ để chuyển một vài tệp nhỏ. Nó có rất nhiều đồng bộ hóa (RTT - Thời gian khứ hồi) và bộ đệm nhỏ (về cơ bản là 2048 B - nguồn ).

Rsync được tạo ra cho hiệu suất và do đó nó cho kết quả tốt hơn nhiều và có nhiều tính năng hơn.

Việc tăng tốc 10 lần là cụ thể cho trường hợp của bạn. Nếu bạn chuyển các tệp trên toàn thế giới qua các làn có độ trễ cao, bạn sẽ có hiệu suất kém hơn nhiều trong scptrường hợp này, nhưng trên mạng cục bộ, hiệu suất có thể gần như nhau.

Và không, nén ( -Ccho scp) sẽ không giúp đỡ. Vấn đề lớn nhất là độ trễ và kích thước bộ đệm.


7

RSYNC vs SCP

SCP về cơ bản thực hiện một bản sao cũ đơn giản từ nguồn đến đích cục bộ hoặc trên toàn mạng bằng SSH nhưng bạn có thể sử dụng công -Ctắc để bật nén SSH để có khả năng tăng tốc độ sao chép dữ liệu trên mạng.

RSYNC chỉ chuyển sự khác biệt giữa hai bộ tệp qua kết nối mạng, sử dụng thuật toán tìm kiếm tổng kiểm tra hiệu quả, tự động tối ưu hóa kết nối mạng trong khi truyền dữ liệu.

RSYNC

SỰ MIÊU TẢ

   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.

nguồn


SCP

SỰ MIÊU TẢ

 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.

nguồn


3
Trong trường hợp này, tình huống hơi khác một chút: Anh ta chỉ sao chép một tệp duy nhất. (Điều đó có lẽ chưa tồn tại ở đầu xa.)
Daniel B

1
@DanielB Theo mặc định, bạn không nghĩ rằng RSYNC có thể tối ưu hóa kết nối dữ liệu ngay cả đối với một tệp và có thể nén dữ liệu trong quá trình truyền để các khối dữ liệu thực sự được gửi xuống đường ống trong khi SCP không có công -Ctắc không ' t nén dữ liệu trong quá trình truyền nó xuống đường ống?
Pimp Juice IT

2
Không nén cũng không kiểm tra được chỉ định trong rsyncdòng lệnh của mình . Tất nhiên thuật toán delta trong tệp luôn hoạt động. Có lẽ nó thật scptệ.
Daniel B
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.