मुझे एक 20 GB KVM vdisk फाइल ट्रांसफर करने की जरूरत थी , एक CentOS 6.5 VM की रूट फाइलसिस्टम को एक लैब सर्वर से दूसरे में स्टोर करना। बड़े फ़ाइल आकार और तथ्य यह है कि मैं एक बार कुछ सौ मेगा-बाइट्स के लिए इस तरह के vdisk फ़ाइल को संकुचित किया scpथा मुझे सहज रूप से सम्पीडन सक्षम बनाया था लेकिन मैं एक कम स्थानान्तरण गति को देखकर आश्चर्यचकित था। फिर मैंने और के bzip2साथ संयोजन की कोशिश की और चौंका दिया। यहाँ विधियों और औसत थ्रूपुट का सारांश है।sshcat
scp -C vm1-root.img root@192.168.161.62:/mnt/vdisks/, 11 एमबी / एस।bzip2 -c vm1-root.img | ssh -l root 192.168.161.62 "bzip2 -d -c > /mnt/vdisks/vm1-root.img", 5 एमबी / एस। यह भी कम परिणाम नेट पर खोज करने के लिए प्रेरित किया।scp -c arcfour -C vm1-root.img root@192.168.161.62:/mnt/vdisks/, 13 एमबी / एस। सर्वरफॉल्ट पर एक उत्तर-c arcfourमें जैसा कि सुझाया गया था, का यह उपयोग किया गया था । यह शायद ही मदद की। अंत में, मैंने संपीड़न को अक्षम कर दिया।scp vm1-root.img root@192.168.161.62:/mnt/vdisks/, 23 एमबी / एस।
क्या संपीड़न को तेज नहीं होना चाहिए था?
संपादित करें: मुझे नहीं पता कि प्रश्न को क्यों अस्वीकृत कर दिया गया है। मुझे लगा कि यहां कुछ सीखना है।
ssh(1)@Sven से मैन पेज टिप प्राप्त करने के बाद , मैंने फ़ाइल ट्रांसफर के कुछ वैकल्पिक तरीकों की कोशिश की जिसमें कम्प्रेशन शामिल न हो, दोनों बेहतर परिणाम के साथ।
cat vm1-root.img | ssh -l root 192.168.161.62 "cat > /mnt/vdisks/vm1-root.img", 26 एमबी / एस।nc -l 5678 > /mnt/vdisks/vm1-root.imgरिसीवरnc 192.168.161.62 5678 < vm1-root.imgपर और ट्रांसमीटर पर, 40 एमबी / एस। पोर्ट5678एक मनमाना है जो उपलब्ध था।
का उपयोग करते ncहुए सबसे तेज़ नकल करने की विधि निकली!
अतीत में, scp -Cजब भी मैंने सोचा कि यह बहुत अच्छा काम करेगा। उदाहरण के लिए, /var/log/messages*आकार में कुछ जीबी के syslogs ( ) को स्थानांतरित करते समय । कुछ सौ केबी / एस के एक असम्पीडित हस्तांतरण दर 1-2 एमबी / एस तक बढ़ जाएगी। यह उदाहरण धीमे कनेक्शन के मामले में आता है जैसा कि मैन पेज में बताया गया है।
मेरे पास एक मामला है, जहां 20 जीबी विभाजन के लिए एक नई बनाई गई vdisk छवि का आकार केवल 200 एमबी है। लगभग 25 एमबी / एस के हस्तांतरण दर के साथ, हम 13 मिनट से अधिक के बजाय केवल 8 सेकंड में नकल कर सकते हैं! स्पष्ट रूप से, scpबिना संपीड़न इस मामले में अक्षम scp -Cहै और इससे भी बदतर है।
मुझे लगता है, यहाँ मुख्य सबक यह है कि, scp -Cकेवल एक सुविधा के रूप में सोचा जाना चाहिए। यदि कोई फ़ाइल महत्वपूर्ण रूप से संपीड़ित हो सकती है, तो पहले स्रोत पर इसे संपीड़ित करने के लिए बेहतर है, संपीड़ित फ़ॉर्म को स्थानांतरित करें और अंत में गंतव्य पर डंपप्रेस करें। उपकरण जो जल्दी से संपीड़न और विघटन करते हैं (उदाहरण के लिए pbzip2 ) अधिक से अधिक मदद करेंगे।