ทำไม rsync บน SSH ถึงปริมาณของ SCP ถึง 10 เท่า


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

scpให้แค่ 200K / s เท่านั้น แต่rsyncให้ 1.9M / s

ฉันทดสอบหลายครั้งผลลัพธ์เดียวกันทั้งหมด

rsync ใช้หลายกระทู้

คำตอบ:


7

โปรโตคอลทั้งสองนั้นใช้ SSH และ SSH เองก็มีค่าใช้จ่ายอยู่บ้าง : วิกิพีเดีย

SCP เป็นโปรโตคอลที่ไร้เดียงสาจริงๆมีอัลกอริธึมไร้เดียงสาจริงๆสำหรับการถ่ายโอนไฟล์ขนาดเล็กบางไฟล์ มีการซิงโครไนซ์จำนวนมาก (RTT - Round Trip Time) และบัฟเฟอร์ขนาดเล็ก (โดยทั่วไปคือ 2048 B - แหล่งที่มา )

Rsync สร้างขึ้นเพื่อประสิทธิภาพการทำงานดังนั้นจึงให้ผลลัพธ์ที่ดีกว่ามากและมีคุณสมบัติเพิ่มเติม

การเร่งความเร็ว 10x นั้นเฉพาะสำหรับกรณีของคุณ หากคุณต้องการถ่ายโอนไฟล์ทั่วโลกผ่านช่องทางที่มีความล่าช้าสูงคุณจะได้รับประสิทธิภาพที่แย่กว่านั้นมากscpแต่ในเครือข่ายท้องถิ่นประสิทธิภาพอาจเหมือนกันเกือบทั้งหมด

และไม่การบีบอัด ( -Cสำหรับscp) จะไม่ช่วย ปัญหาที่ใหญ่ที่สุดคือเวลาแฝงและขนาดบัฟเฟอร์


7

RSYNC กับ 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สวิตช์ ไม่บีบอัดข้อมูลในระหว่างการส่งลงท่อหรือไม่
Pimp Juice IT

2
การบีบอัดหรือการตรวจสอบไม่ได้ระบุไว้ในrsyncบรรทัดคำสั่งของเขา แน่นอนว่าอัลกอรึทึมในไฟล์นั้นทำงานอยู่เสมอ มันอาจเป็นเพียงแค่scpดูดที่
Daniel B
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.