Rsync - काम नहीं कर रहा है


12

मैं वर्तमान में होस्ट से बड़ी फ़ाइल को दूसरे में स्थानांतरित करने के लिए rsync का उपयोग कर रहा हूं। मैं इस हस्तांतरण के लिए डेबिट को सीमित करना चाहूंगा। मैन पेज पढ़ने के बाद मुझे विकल्प मिला --bwlimit जो KB / s मान की उम्मीद कर रहा है।

मैं 100Mbit / s के आसपास के हस्तांतरण को सीमित करना चाहता हूं इसलिए मैंने निम्नलिखित सेटिंग्स का उपयोग किया:

rsync --progress -v --bwlimit=10000 --temp-dir=/tmp srv:/tmp/* /tmp/

लेकिन यह rsync के आउटपुट के अनुसार सम्मानित नहीं लगता है:

file.sql.gz
   570851702 100%   33.90MB/s    0:00:16 (xfer#5, to-check=34/39)
file.sql.gz
    11195140 100%    7.45MB/s    0:00:01 (xfer#6, to-check=33/39)
file.sql.gz
    51439169 100%   19.41MB/s    0:00:02 (xfer#7, to-check=32/39)
file.sql.gz
       34022 100%    1.55MB/s    0:00:00 (xfer#8, to-check=31/39)
file.sql.gz
     2305698 100%    6.96MB/s    0:00:00 (xfer#9, to-check=30/39)
file.sql.gz
     2152942 100%    2.73MB/s    0:00:00 (xfer#10, to-check=29/39)
file.sql.gz
    86655633 100%   19.33MB/s    0:00:04 (xfer#11, to-check=28/39)
file.sql.gz
  3614476032  40%   34.82MB/s    0:02:28

अगर मैं गलत नहीं हूँ: 19.33MB / s ~ = 154Mbit / s

तो यहाँ क्या गलत है?

पुनश्च: rsync संस्करण 3.0.6 प्रोटोकॉल संस्करण 30

आपकी सहायताके लिए धन्यवाद !


यहाँ यह समान मापदंडों का उपयोग करके rsync 3.0.4 (Ubuntu), 3.0.6 (openSUSE) और 3.0.9 (Ubuntu) के साथ काम करता है। आपको अपने सिस्टम के बारे में अधिक जानकारी प्रदान करनी होगी।
स्काइ

क्या यह मदद करता है? stackoverflow.com/questions/10064316/…
मारीथूब

@mreithub इस पोस्ट में उत्तर वास्तव में दिलचस्प है, लेकिन वास्तव में ह्यूगो बल्कि बड़ी फ़ाइलों को स्थानांतरित करने के लिए लगता है।
स्काइ

प्रत्येक फ़ाइल के लिए rsync bwlimits, bw को सीमित करने के लिए आपको कनेक्शन को सीमित करना चाहिए, (iptables + tc atmail.com/kb/2009/throttling-bandwidth का उपयोग करके लिनक्स पर ), इसलिए कोई आसान तरीका नहीं है।
zb '

हैलो, मैं आरएचईएल 6 चला रहा हूं लेकिन इससे बहुत फर्क नहीं पड़ता। हां यह बड़ी फाइल है, इसलिए डेबिट लगभग स्थिर होना चाहिए। जानकारी के लिए एससीपी के साथ समतुल्य कमांड शानदार काम कर रहा है। इसलिए मुझे नहीं पता कि rsync में क्या गलत है?
ह्यूगो

जवाबों:


10

मुझे लगता है कि आपने कुछ "फटने" का अनुभव किया जैसा कि मैनपेज में उल्लिखित है:

--bwlimit=RATE
          ... 
          Some "burstiness" may be seen where rsync writes out a block 
          of data and then sleeps to bring the average rate into compliance.

इसलिए जैसा कि मैंने पूछा कि आपकी नौकरी के अंत में समग्र अनुपात 10M तक सीमित था।


4

जैसा कि rsync मैन पेज में बताया गया है , यह KByte / sec में ट्रांसफर होता है:

--bwlimit=KBPS          limit I/O bandwidth; KBytes per second

2
यही मैंने इस्तेमाल किया: 10 000 किलोबाइट्स = 78.12500 मेगाबिट्स
ह्यूगो

2
आपने मेरी कही बातों पर ध्यान नहीं दिया। Rsync बिट के बजाय बाइट का उपयोग करता है , इसलिए आपको बैंडविड्थ की गणना बिट में करनी होगी और इसे बाइट को
कवर करना होगा

मेरे पास एक ही मुद्दे हैं, जब मैं डालता हूं --bwlimit=100, मैं 275kB / s प्राप्त करता हूं, 265-285 kB / s के बीच बहुत नियमित होता है, कोई फटने वाला नहीं है। यहाँ क्या गलत है?
ब्रेथोल्ज़े

2

मैं 100Mbit / s के आसपास हस्तांतरण को सीमित करना चाहता हूं इसलिए मैंने निम्नलिखित सेटिंग्स का उपयोग किया:

rsync --progress -v --bwlimit=10000 --temp-dir=/tmp srv:/tmp/* /tmp/

100 Mbit / s (लगभग) 10 MByte / s है, जो वास्तव में 10,000 KByte / s है। यदि आप rsyncफटने को रोक रहे हैं तो शायद अलग उपकरण trickleमदद करेगा:

trickle -s -d 10000 -u 10000 -t 10 -l 100 rsync --progress -v --temp-dir=/tmp srv:/tmp/* /tmp/

0

दिखाया गया मूल्य प्रभावी हस्तांतरण दर है जिसमें संपीड़न और डेल्टा एल्गोरिथ्म से गति शामिल है, यह बड़ी संख्या को देखकर आसानी से देखा जा सकता है यदि एक बाधित rsyncसत्र को आंशिक हस्तांतरण सक्षम (पूर्व --append-verify) के साथ पुनरारंभ किया जाता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.