2 लिनक्स सर्वरों के बीच मल्टी थ्रेडेड फ़ाइल सिंक


9

फिलहाल मैं 250GB की कुल 2.2 मिलियन फाइलों के लिए rsync चला रहा हूं और यह 6 घंटे में सिर्फ 700K फाइलें लेती है।

क्या किसी को उपकरण जैसे rsync का पता है जो कई थ्रेड्स के साथ ऐसा कर सकता है ताकि यह तेजी से चला जाए?


3
क्या आपके पास किसी भी तरह से सीपीयू-बाउंड होने का कोई कारण है?
चॉपर 3

आप किस rsync विकल्प का उपयोग कर रहे हैं?
काइल स्मिथ

आप परिवहन के रूप में ssh का उपयोग कर रहे हैं?
जिमब

rsync -avSPp और कोई CPU या डिस्क समस्याएँ नहीं हैं।
टॉम वैन ओमन्स

और कोई एसएसएच परिवहन बस वेब पर कुछ नहीं देखा है पता नहीं अगर इसकी तेजी। यह पहले से ही सभी फ़ाइलों को अनुक्रमित करने के लिए उम्र लेता है।
टॉम वान ओमेन

जवाबों:


7

मुझे शक है कि सीपीयू यहां सीमित कारक है। आप स्थानांतरण के लिए नेटवर्क बैंडविड्थ और डिस्क IO दोनों द्वारा सीमित होने की संभावना रखते हैं; विशेष रूप से उन सभी स्टेट कॉल के लिए विलंबता।

क्या आप समानांतर में प्रोसेस करने के लिए फाइल सिस्टम पदानुक्रम को छोटे विखंडू में तोड़ सकते हैं?

स्रोत फ़ाइलें क्या हैं, और उन्हें क्या लिखना या संशोधित करना है? क्या आवेदन स्तर पर होने वाले परिवर्तनों को भेजना संभव होगा?


ज़राफ़ा अटैचमेंट फ़ाइलों को सिंक करना, सभी डिफ़ॉल्ट रूप से gzipped। मैं कई उदाहरण चला सकता है, लेकिन 10 थ्रेड्स की तुलना में कम कुशल है। और नेटवर्क 1GBit से 1GBit लेकिन अलग-अलग डेटासेन्टर्स है, लेकिन यह एक मुद्दा नहीं होना चाहिए। गंतव्य पर एसएसडी के साथ स्रोत और बुद्धिमान भंडारण पर 24 एसएएस डिस्क मिले।
टॉम वान ओमेन

1
@Tom van Ommen - आपको क्यों लगता है कि आप CPU सीमित हैं? यदि आप वास्तव में सीपीयू सीमित हैं, तो थ्रेड्स की तुलना में कई प्रक्रियाएं कम कुशल कैसे हैं?
जिमब

1
@ टोम वैन ओमेन, 10 प्रक्रियाओं में 10 थ्रेड से अधिक ओवरहेड होते हैं; हालाँकि, थ्रेड्स के बीच डेटा संरचनाओं को लॉक करना एक कोडिंग दुःस्वप्न है। यह अक्सर अधिक कुशल है (कोडर के समय के लिए) कई प्रक्रियाओं को स्पॉन करने के लिए और इसके साथ किया जा सकता है
माइक पेनिंगटन

1
@ गुआमामोले - कई धागे कुछ स्थितियों में मदद कर सकते हैं, लेकिन अगर उसका लिंक संतृप्त है, तो वह किसी भी चीज के माध्यम से कोई धक्का नहीं देने वाला है कि उसके पास कितने धागे हैं। Rsync कंसिस्टेंसी के लिए थ्रेड्स का उपयोग करता है, और IO पर आंतरिक रूप से अवरुद्ध नहीं होता है।
जिमब

1
@ गुआमामोले - मैं सभी को इंगित कर रहा हूं कि यदि वह ssh को परिवहन के रूप में उपयोग कर रहा है, तो उसका थ्रूपुट स्वयं ssh (विशेष रूप से स्थिर प्राप्त विंडो, जब तक वह HPN ssh पैच का उपयोग नहीं कर रहा है) तक सीमित है।
जिमब

1

यदि प्राप्त सर्वर का डिस्क सबसिस्टम एक डिस्क है जिसमें कई डिस्क हैं, तो कई rsync प्रक्रियाओं को चलाने से प्रदर्शन में सुधार हो सकता है। मैं एक एनएफएस सर्वर (RAID 6 प्रति डिस्क समूह के साथ RAID 6) फ़ाइलों को कॉपी करने के लिए 3 rsync प्रक्रिया चला रहा हूं, गिगाबिट ईथरनेट को संतृप्त करने के लिए।

यह आदमी एक बुनियादी अजगर दोहन पर रिपोर्ट करता है जो कई rsync प्रक्रियाओं को जन्म देता है http://www.reliam.com/company/featured_geek


दुर्भाग्य से, लिंक मर चुका है। क्या आप इसे फिर से पा सकते हैं?
पी। सेपर

1

मैंने इसके समान कई प्रश्न पढ़े हैं। मुझे लगता है कि एकमात्र वास्तविक उत्तर कॉपी / मूव को मैन्युअल रूप से तोड़ना है। IOps यहां मुद्दा होगा। यदि यह आपको कोई बेहतर महसूस कराता है, तो मैं ~ 200 मिल्लियन फ़ाइलों को डिस्क स्पेस के 100TB से अधिक अच्छी तरह से उपभोग करने की प्रक्रिया में हूं।


0

आप linux (ओपन सोर्स) के लिए मल्टीथ्रेडेड cp क्लोन की जाँच करने पर विचार कर सकते हैं: http://static.usenix.org/event/lisa10/tech/slides/kolano.pdf


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