SSH के ऊपर rsync मुझे SCP का थ्रूपुट क्यों देता है?


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 के पास खुद कुछ ओवरहेड है : विकि

SCP वास्तव में कुछ छोटी फ़ाइलों को स्थानांतरित करने के लिए वास्तव में भोली एल्गोरिथ्म के साथ अनुभवहीन प्रोटोकॉल है। इसमें बहुत सारे सिंक्रोनाइज़ेशन (आरटीटी - राउंड ट्रिप टाइम) और छोटे बफ़र्स (मूल रूप से 2048 बी - स्रोत ) हैं।

Rsync प्रदर्शन के लिए बनाया गया है और इसलिए यह बेहतर परिणाम देता है और इसमें अधिक सुविधाएँ हैं।

10x स्पीडअप आपके मामले के लिए विशिष्ट है। यदि आप उच्च-विलंबता लेन पर पूरी दुनिया में फ़ाइलें स्थानांतरित करते हैं, तो आपको scpमामले पर बहुत खराब प्रदर्शन मिलेगा , लेकिन स्थानीय नेटवर्क पर, प्रदर्शन लगभग समान हो सकता है।

और नहीं, संपीड़न (के -Cलिए scp) मदद नहीं करेगा। सबसे बड़ी समस्याएं हैं विलंबता और बफर आकार।


7

RSYNC बनाम एससीपी

एससीपी मूल रूप से एसएसएच का उपयोग करते हुए स्थानीय या एक नेटवर्क पर गंतव्य के लिए स्रोत से एक सादे पुरानी कॉपी करता है, लेकिन आप -Cएसएसएच संपीड़न को सक्षम करने के लिए स्विच का उपयोग करने में सक्षम हो सकते हैं ताकि नेटवर्क भर में डेटा की प्रतिलिपि को गति मिल सके।

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
इस मामले में, स्थिति थोड़ी अलग है, हालांकि: वह केवल एक ही फाइल की नकल कर रहा है। (यह संभवतः दूरस्थ छोर पर अभी तक मौजूद नहीं है।)
डैनियल बी

1
@DanielB आपको नहीं लगता कि यह अभी भी हो सकता है कि RSYNC डिफ़ॉल्ट रूप से एक फ़ाइल के लिए भी डेटा कनेक्शन का अनुकूलन करता है और शायद ट्रांसमिशन के दौरान डेटा को संपीड़ित करता है इसलिए कम डेटा चंक्स वास्तव में पाइप के नीचे भेजे जाते हैं जबकि स्विच के बिना एससीपी-C स्विच नहीं करता है टी नीचे पाइप के प्रसारण के दौरान डेटा सेक?
दलाल जूस आईटी

2
उसकी rsyncकमांड लाइन में न तो संपीड़न और न ही चेकसमिंग निर्दिष्ट है । बेशक इन-फाइल डेल्टा एल्गोरिथ्म हमेशा सक्रिय होता है। यह शायद सिर्फ इतना है कि scpबेकार है।
डैनियल बी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.