nfs-share से स्थानीय dir में फ़ाइलों की प्रतिलिपि बनाने की तुलना में rsync बहुत धीमा है (कारक 8 से 10)


18

मेरे पास एक नया स्थापित उबंटू-सर्वर है जो हमारे वीएम-स्टोरेज के लिए नया बैकअप-सर्वर होना चाहिए। सर्वर में 4 nics, उनमें से 2 10Gbit (वास्तव में एक इंटेल x540-T2 नवीनतम ड्राइवर के साथ उपलब्ध हैं) जो SAN से कनेक्ट करने के लिए उपयोग किए जाते हैं। मेरे पास nfs-share स्थानीय स्तर पर मुहिम की जाती है और ~ 30 फ़ाइलों के साथ एक निर्देशिका की नकल करते हुए गति-अंतर की तुलना की जाती है, लगभग 15 vm-images और संबंधित लॉग फाइलें। छवियाँ आकार में 8 जीबी और 600 जीबी के बीच हैं।

का उपयोग करते हुए:

cp -rf /mnt/nfs-share /backup-storage/

फलस्वरूप लगभग 600 MiB / s से बाउंस दिखाता है।

का उपयोग करते हुए

rsync -av /mnt/nfs-share /backup-storage/

bmon पहले सेकंड में कुछ पैकेट दिखाता है, लगभग 30 सेकंड तक रुकता है और लगभग 60-75 MiB / s तक बनाता है। CPU लगभग 60% है।

मुझे rsyncउसी प्रदर्शन के साथ उपयोग करने के लिए क्या बदलना चाहिए / बदल सकता है cp?

जवाबों:


20

मुझे लगता है कि ये अंतर काफी अच्छी तरह से cpऔर के बीच स्थापित हैं rsync। इस लेख को संदर्भ के रूप में देखें: शीर्षक: rsync प्रदर्शन पर एक नज़र

अंश:
The four commands tested were:

    rsync $SRC $DEST
    echo $SRC | cpio -p $DEST
    cp  $SRC $DEST
    cat $SRC > $DEST/$SRC

The results for rsync, cpio, cp, and cat were:

user    sys     elapsed hog MiB/s   test
5.24    77.92   101.86  81% 100.53  cpio
0.85    53.77   101.12  54% 101.27  cp
1.73    59.47   100.84  60% 101.55  cat
139.69  93.50   280.40  83% 36.52   rsync

मैं rsyncदैनिक आधार पर उपयोग करता हूं । ऐसी चीजें हैं जो आप स्थिति को बेहतर बनाने के लिए कर सकते हैं।

उदाहरण के लिए आप -Wस्विच का उपयोग करके देख सकते हैं :

-W, --whole-file            copy files whole (w/o delta-xfer algorithm)

इसके अलावा, मैं यह सुनिश्चित करने का सुझाव दूंगा कि आपके पास 3.x संस्करण हैं rsync। जब हम नए संस्करणों में स्थानांतरित हुए तो ध्यान देने योग्य सुधार हुए।


15

Rsync बनाने का तरीका cp के समान ही है, इसे "cp" वर्तनी देना है।

दो आदेशों के बीच अंतर महत्वपूर्ण है भले ही शुद्ध प्रभाव समान हो। विशेष रूप से, rsync यह पढ़ने के लिए एक गुच्छा करता है कि यह देखने के लिए कि किसी फ़ाइल या किसी फ़ाइल का हिस्सा कॉपी किया जाना चाहिए या नहीं।

क्या कोई कारण है कि आप rsync का उपयोग करना चाहते हैं? क्योंकि cp प्रतियां "नेत्रहीन" आप उच्च कच्चे प्रदर्शन देखेंगे। यदि ट्रिगर करने की स्थिति के एक सेट के लिए, rsync के "डेल्टा-ट्रांसफर" तंत्र का उपयोग किया जाता है, तो आप ट्रांसफर रेट ड्रॉप और सीपीयू उपयोग को रिपोर्ट करने के तरीके में बहुत अधिक वृद्धि देखेंगे।


मैं व्यवहार से अवगत हूं, लेकिन इस तरह के प्रभाव की उम्मीद नहीं थी। मुझे लगता है कि, सीपीयू-पॉवर और आईओपीएस rsync को देखते हुए, कम से कम 300 MiB / s पर प्रदर्शन किया जाना चाहिए, अगर कॉपी करने के लिए फ़ाइल मौजूद नहीं है, तो स्पष्ट रूप से। मैंने अभी तक परीक्षण समाप्त नहीं किया है। Rsync के साथ बैकअप अधिक आश्वस्त होगा, लेकिन मैं cp, dd या जो भी मन में आता है उसका उपयोग करके एक स्क्रिप्ट लिख सकता हूं। अब मैं अलग-अलग फाइल सिस्टम पर विभिन्न संभावनाओं का परीक्षण करना चाहता हूं ताकि यह मूल्यांकन किया जा सके कि सबसे अच्छा क्या है।
आत्मापथ

7
आप मुझे एक अनुभववादी कह सकते हैं, लेकिन जब आपकी उम्मीदें और वास्तविकता असहमत होती हैं, तो यह आमतौर पर वास्तविकता नहीं होती है जो गलत है। एक दर्जन कारण हैं कि आप इस दंड को क्यों लागू कर सकते हैं; यहां तक ​​कि interleaving पढ़ता है और एक SAN पर लिखता है सॉफ्टवेयर के बारीक विवरण के आधार पर नाटकीय प्रदर्शन हिट हो सकता है।
msw

3
मुझे वास्तविकता के बारे में संदेह नहीं था, बस rsync के बारे में- लेकिन इन मतभेदों के कारण मैं cp और कुछ चेकसम का उपयोग करके स्क्रिप्ट लिखने के साथ जाऊंगा। आपके सुझाव के लिए धन्यवाद!
आत्मापथ

नहीं, बस नेटवर्क फाइल सिस्टम पर rsync का उपयोग न करें। आपके कंप्यूटर को संपूर्ण फ़ाइल डाउनलोड करने की आवश्यकता है, ताकि आप rsync का सभी लाभ खो दें।
जियाकोमो कैटेनाज़ी

अफसोस की बात है कि यह जवाब इसके विस्तार में गलत है। जब "स्थानीय" फाइलसिस्टम (और हां, एनएफएस माउंट इस संदर्भ में एक स्थानीय फाइलसिस्टम है) के बीच कॉपी करते हैं, तो जब आप स्पष्ट रूप से इस जवाबी कार्रवाई को सक्षम नहीं करते हैं तब तक नकल करते समय rsync लक्ष्य फ़ाइल को नहीं पढ़ता है--whole-file । इस स्थिति में यह बहुत धीमी गति जैसा है cp
रोज़ा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.