मैं जल्दी से 900,000 फाइलें कैसे कॉपी करूं?


9

मुझे कुछ डेटा कॉपी करने की आवश्यकता है जिसमें एक विंडोज़ कंप्यूटर के लिए लगभग 30 गीगाबाइट की कुल 900,000 छोटी फाइलें शामिल हैं। हालाँकि, इसे एक-डेढ़ घंटे के भीतर कॉपी और सेट करने में सक्षम होने की आवश्यकता होती है, और अधिकतर हार्ड फ़ाइलों के कारण USB हार्ड ड्राइव को कॉपी करने में 5+ घंटे का समय लग सकता है। क्या इससे निपटने का एक बेहतर / तेज़ तरीका है, जैसे किसी प्रकार की ब्लॉक कॉपी करना? धन्यवाद


8
यह एक एकल, गैर-एसएसडी डिस्क से बाहर किसी भी फ़ाइल-आधारित प्रतिलिपि के लिए एक बहुत ही आक्रामक लक्ष्य होने जा रहा है । बस सभी फाइलों को एन्यूमरेट करना और फाइलसिस्टम प्रविष्टियों और मेटाडेटा से निपटना, इसके लिए कई फाइलों को महत्वपूर्ण समय लगता है।
afrazier

5
क्या आप हार्ड ड्राइव और गंतव्य में जगह निकालने में सक्षम हैं? यह सबसे तेज़ गति होगी, जो मदरबोर्ड बैकप्लेन पर स्थानांतरित होती है।
iTom


इस प्रश्न को ब्लॉग्गेड देखना चाहते हैं? मेटा में जवाब देने या मतदान करने में मदद करें ।
तमारा विज्समन

जवाबों:


7

बड़ी संख्या में फ़ाइलों के साथ, टार आर्काइव बनाना सबसे अच्छा है ताकि आपके पास इससे निपटने के लिए कम फाइलें हों। यदि आप USB 2.0 बाहरी हार्ड ड्राइव का उपयोग कर रहे हैं, तो आपको USB 3.0, eSATA का उपयोग करना चाहिए या एक तेज़ स्थानीय नेटवर्क का उपयोग करना चाहिए।

आपका स्रोत ओएस क्या है? यदि आपके दोनों ऑपरेटिंग सिस्टम लिनक्स थे, तो आप टार, गज़िप और ssh के माध्यम से फ़ाइलों को लक्ष्य मशीन तक पाइप कर सकते थे। आप इस प्रकार की कार्यक्षमता को विंडोज के लिए भी प्राप्त करने के लिए विंडोज पर साइबरविन स्थापित कर सकते हैं।

अपडेट:
" एससीपी स्पीड में सुधार के लिए टार और एसएसएच का उपयोग करना " पोस्ट ssh पर टार सामग्री भेजने के लिए आवश्यक आदेशों का वर्णन करता है।


टार अभी भी एक-एक करके सभी फाइलों को पढ़ेगा।
टॉमस आंद्रे

हां, लेकिन आप इसे केवल एक बार करेंगे और अन्य कमांड जैसे कि अलग-अलग फाइलों से निपटने में देरी नहीं होगी। यदि लक्ष्य मशीन पर टार आर्काइव में फाइलें रखी जा सकती हैं, तो आप कई के बजाय एक फाइल लिखने पर भी समय बचा रहे हैं।
dabest1

मुझे लगता है कि USB कनेक्शन अड़चन है। इसलिए @arcyqwerty के रूप में ड्राइव की एक कच्ची छवि लेना मेरे लिए सबसे अच्छा समाधान की तरह लगता है। मैं कुछ वास्तविक परिणाम देखने के लिए उत्सुक हूँ, हो सकता है कि मैं पूरी तरह से गलत हूँ!
टॉमस आंद्रे

1
@ टॉमा - मेरे अनुभव में जब बहुत सारी छोटी फाइलों से निपटना है , तो हार्ड ड्राइव अड़चन है। प्रत्येक फ़ाइल रीड को एलोकेशन बिटमैप के लिए एक सिर की तलाश की आवश्यकता होती है, और फिर वास्तविक फ़ाइल सामग्री के लिए एक और सिर की तलाश होती है। नतीजतन, हार्ड ड्राइव अधिकांश समय मांगता है, और वास्तव में बहुत कम समय फाइलों को पढ़ता है।
नकली नाम

2
एक उदाहरण के रूप में, 1K फाइलों के साथ, मुझे अपने गीगाबिट लैन पर ~ 1-5 एमबीपीएस मिलता है। बड़ी फ़ाइलों (प्रत्येक गीगाबाइट्स) के साथ, मुझे ~ 80-90 एमबीपीएस मिलता है। यह सभी अनुक्रमिक पढ़ता है।
नकली नाम

8

यदि हार्ड ड्राइव को USB इंटरफ़ेस से और SATA / ATA पर हटाया जा सकता है, तो मैं इसे गंतव्य कंप्यूटर में स्थापित करूँगा। आपको बहुत तेज़ी से स्थानांतरण गति मिलेगी, जैसा कि अन्य ने नोट किया है। प्रतिलिपि बनाने के लिए, मान लें कि आप विंडोज पर हैं, तो मैं एक साधारण ROBOCOPY करूंगा। यह उतना ही तेज़ है जितना आप वास्तव में उम्मीद कर सकते हैं, हालांकि अन्य विकल्प भी हैं।

ROBOCOPY /E /B /MT 'source' 'destination'

मैं इन सभी फ़ाइलों को संपीड़ित करने से बचने की कोशिश करूँगा, हालांकि, वहाँ एक अच्छा मौका है कि सेक और स्थानांतरित करने का समय बस फ़ाइलों को स्थानांतरित करने से अधिक होगा।

* रोबोकॉपी के लिए / MT विकल्प जोड़ा गया। जब आप बहु-थ्रेड वातावरण में होते हैं, तो यह स्थानांतरण को बहुत तेज़ कर सकता है।


/MTस्थानीय एकल डिस्क स्थानान्तरण पर मदद करेगा , या बड़े पैमाने पर डिस्क थ्रेशिंग का कारण होगा? सर्वरों के बीच बड़े शेयरों की नकल करना आम बात है, लेकिन नेटवर्क पर जाने और IOPS को RAID रेसे से बेहतर बनाने के कारण अक्सर दोनों में विलंबता बढ़ जाती है।
दोपहर

मैं वास्तव में इस पहलू पर बहुत अधिक टिप्पणी नहीं कर सकता। मैं हर रात अपने वीएस प्रोजेक्ट्स का बैकअप लेने के लिए रोबोकॉपी का उपयोग करता हूं, हालांकि इसकी कीमत लगभग 10GB है। केवल उन क्षणों की बात होती है जो पहले से मौजूद फ़ाइलों की प्रतिलिपि नहीं हैं। मुझे ये रोबोकॉपी
ली हैरिसन

मेरे अनुभव में, अगर आपके ड्राइव एनक्लोजर में USB SATA एडॉप्टर देशी कमांड कतार का समर्थन करता है तो मुझे / MT स्विच से एक महत्वपूर्ण प्रदर्शन को बढ़ावा मिलता है।
लॉन्गनेक

6

आप संपूर्ण फ़ोल्डर / ड्राइव की एक छवि लेने की कोशिश कर सकते हैं

लिनक्स सिस्टम पर आप ddफाइल सिस्टम की एक कच्ची कॉपी प्राप्त करने और इसे एक बड़ी फाइल के रूप में कॉपी करने के लिए उपयोग कर सकते हैं ।

विंडोज पर छवि को निकालने के लिए आपको साइबरविन या एक प्रोग्राम स्थापित करने की आवश्यकता हो सकती है जो ddछवियों को संसाधित करने में सक्षम है ।


वह टिकट है।
टॉमस आंद्रे

3

उस डिस्क को स्थापित करें जहां स्रोत फ़ाइलें आपके द्वारा सेट किए गए कंप्यूटर में रहती हैं और डिस्क को डिस्क में स्थानांतरित करती हैं। USB को भूल जाइए। यहां तक ​​कि तार पर स्थानांतरण (नेटवर्क मशीनों को एक साथ) यूएसबी (यूएसबी 2.0 और 1 जीबीपीएस एनआईसी मानकर) की तुलना में तेज होगा। यदि यह एक आवर्ती घटना है, तो बदले में प्रतिकृति देखें।


3

विकल्प के rsyncसाथ उपयोग करें z

-z,         --compress              compress file data during the transfer
            --compress-level=NUM    explicitly set compression level
            --skip-compress=LIST    skip compressing files with suffix in LIST

इससे नेटवर्क पर स्थानांतरण की गति बढ़ जाएगी। तो सबसे शायद आपके मामले में उपयोगी नहीं है।

कुछ और पढ़ने के बाद मुझे महसूस हुआ कि, हमें एक स्थानीय हार्ड ड्राइव से दूसरे में डेटा कॉपी करते समय '-z' झंडे का उपयोग नहीं करना चाहिए, यह ओवरहेड को बढ़ाता है। @FakeName से टिप्पणी करने के लिए धन्यवाद।


1
rsync स्थानीय स्थानान्तरण के लिए संपीड़ित नहीं करता है (या एक लैन पर, मुझे विश्वास है)। इसके अलावा, इसका कोई फ़ायदा नहीं होगा, क्योंकि असली मुद्दा फाइलों को पढ़ने में लगने वाला समय है , उन्हें तार के ऊपर नहीं भेजना चाहिए (जैसा कि प्रत्येक फ़ाइल को पढ़ने में कम से कम दो शोध कार्य करने होंगे)।
नकली नाम

@FakeName +1 आप सही हैं, कुछ पढ़ने के बाद मुझे आपकी बात मिल गई। मैंने अपना उत्तर अपडेट कर दिया है।
सचिन दिवेकर

1

आप तेजी से अपनी हार्ड ड्राइव की सीमाओं के निकट आ रहे हैं। वास्तव में, वर्तमान कमोडिटी ड्राइव्स के साथ, प्रति-फाइल कॉपी ऑपरेशन के साथ आपके ट्रांसफर समय पर ध्यान देना असंभव है।

प्रत्येक फ़ाइल को मानने के लिए 1 HD चाहिए और समय चाहिए 7 ms (जो कि थोड़ा आदर्श रूप में है, वास्तविक रूप से, प्रत्येक फ़ाइल को दो साइक्स की आवश्यकता होगी , जब तक कि वॉल्यूम बिटमैप राम में कैश नहीं किया जाता है), सबसे अच्छा आप ~ 142 फाइलों / सेकंड का प्रबंधन करेंगे \ $ \ frac {1000} {7} = 142.8 ... \ $)।

ओपी स्पेक्स (30 जीबी, 900,000 फाइलें) के साथ ~ ~ 33K प्रति फ़ाइल (\ $ \ frac {30,000,000k} {900,000} = ~ 33.3 ... \ $। 33 केबी * 142 = 4.68 एमबीपीएस)।

5 एमबीपीएस पर 30 जीबी स्थानांतरित करने का न्यूनतम समय, ~ 1 घंटा, 40 मिनट (\ $ \ frac {30,000} {5} = = 6,000 \ $ सेकंड है। \ $ \ frac {6,000} {60} = 100 \ $) मिनट, या 1:40 घंटे)

इसलिए, तब बेहतर गति हासिल करना असंभव है ~ ~ 5 एमबीपीएस, और यह एक आदर्श ड्राइव के साथ है (और कम संचालन की तलाश है। यह प्रति फ़ाइल एक तलाश के लिए है। वास्तव में, यह दो होगा)। आप डिस्क प्रदर्शन द्वारा पूरी तरह से सीमित हैं ।


प्रदर्शन को बेहतर बनाने का एकमात्र तरीका यह है कि पूरे फाइल-सिस्टम और विभाजन को क्रमिक रूप से कॉपी किया जाए। ddलिनक्स पर कर सकते हैं।

तुम क्या करने की कोशिश कर रहे हो?


क्या TeX किसी और के लिए काम कर रहा है? ऐसा लगता है कि यह मेरे लिए प्रतिपादन नहीं है।
फेक नेम

0

फ़ाइलों को केवल एक फ़ाइल में संग्रहीत करने के लिए 7zip का प्रयास करें। यदि संभव हो तो, नोटबुक में एडहॉक कनेक्शन के साथ WLAN का उपयोग करें।


1
या बेहतर अभी तक, एक सीधा ईथरनेट कनेक्शन, अधिमानतः गिग-ए
जर्नीमैन गीक

0

@Arcyqwery के उत्तर से संबंधित, आप इसे संपीड़ित करने में सक्षम हो सकते हैं, और साथ ही इसे एक बड़ी फ़ाइल में बदल सकते हैं। यह कुछ प्रक्रिया को गति देगा।

यह TeraCopy जैसे प्रोग्राम का उपयोग करने के लिए भी इसके लायक हो सकता है , क्योंकि यह आमतौर पर डिफ़ॉल्ट विंडोज़ कॉपी प्रदर्शन से तेज है। हालाँकि, आपको जाँचने के लिए अपने मामले में समान परिस्थितियों का परीक्षण करना चाहिए।


0

मेरा भी ऐसा ही मामला था। मैंने एंटी-वायरस को बंद कर दिया, कॉपी स्पीड 3MB / s से बदलकर 12MB / s कर दी गई।

यहां छवि विवरण दर्ज करें

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