गीगाबिट कनेक्शन पर, टेराकोपी 31 एमबी / एस करता है, लेकिन विंडोज 8 इसे ~ 109 एमबी प्रति सेकंड पर करता है?
वास्तव में यह क्या कारण है? और क्या मैं टेराकोपी के माध्यम से ऐसी गति को सक्षम कर सकता हूं? मैं वास्तव में अतिरिक्त विशेषताओं को खोदता हूं जो टेरास्कोपी के पास हैं, निश्चित रूप से अब उन्हें याद करेंगे: डी
दो शब्द: सत्यापन और कैश
तकनीकी व्याख्या
यह विंडोज एक्सप्लोरर के साथ फाइल कॉपी करने की सामान्य प्रक्रिया है:
- स्रोत ड्राइव से डेटा का एक हिस्सा मेमोरी में पढ़ें
- सिस्टम के माध्यम से चंक भेजें
- गंतव्य ड्राइव के लिए हिस्सा लिखें
- यदि अभी तक नहीं किया गया है, तो चरण 1 पर लौटें
यह सरल और कम पर्याप्त लगता है। इस हस्तांतरण एल्गोरिथ्म के साथ, फ़ाइल के प्रत्येक बाइट को केवल दो बार संसाधित किया जाता है: एक पढ़ा, एक लिखना।
लेकिन इसके अलावा, विंडोज कुछ डेटा को कैश करने के लिए मेमोरी (जैसा कि ड्राइव को खुद करता है) का उपयोग करता है। इसलिए, पिछले कबाड़ के लिखे जाने का इंतज़ार करने के बजाय, और फिर अगले कूबड़ को पढ़कर, एक नया हिस्सा पढ़ा जा सकता है, जबकि पिछले एक को अभी भी लिखा जा रहा है। जाहिर है कि यह हमेशा के लिए नहीं रह सकता है, लेकिन विंडोज सभी शेष मुफ्त मेमोरी का उपयोग अस्थायी बफर के रूप में कर सकता है, ताकि अधिकांश फ़ाइल मेमोरी में पढ़ी जा रही सभी के लिए न हो।
आप कैशिंग को एक बड़ी फ़ाइल की प्रतिलिपि बनाकर देख सकते हैं - या एक फ़ोल्डर जिसमें बहुत सारी फाइलें हैं - एक ड्राइव से दूसरे में, फिर तुरंत दोनों की तुलना करते हुए। तुलना उस बिंदु पर बहुत तेजी से होगी यदि आप इसे बाद में करते हैं क्योंकि फ़ाइल (फ़ाइलें) अभी भी स्मृति में हैं, इसलिए यह वास्तव में उन्हें ड्राइव (ओं) से नहीं पढ़ रहा है।
चूँकि मेमोरी बहुत तेज़ है, और पढ़ने की गति लिखने की गति की तुलना में थोड़ी तेज़ होती है, अंतिम अंतरण दर केवल गंतव्य ड्राइव की लिखने की गति से सीमित होती है।
टेराकोपी दो चीजें कर सकता है जो एक फ़ाइल स्थानांतरण को धीमा कर सकती हैं जो एक्सप्लोरर नहीं करता है:
एक्सप्लोरर के विपरीत जो केवल स्थानांतरण के दौरान बुनियादी त्रुटियों के लिए जांच करता है, टेराकोपी वास्तव में यह सत्यापित कर सकता है कि डेटा को भ्रष्टाचार को रोकने के लिए गंतव्य ड्राइव पर सही ढंग से लिखा गया था जो हस्तांतरण मीडिया (नेटवर्क / ड्राइव केबल / आदि) में समस्याओं के कारण हो सकता है। ) या स्वयं ड्राइव (खराब क्षेत्र, आदि) ऐसा करने का अर्थ है कि इसे मूल से तुलना करने के लिए गंतव्य से फ़ाइल को पढ़ना होगा ।
उपयोग किए गए एल्गोरिथ्म और फ़ाइल के आकार के आधार पर, सत्यापन को निम्न के रूप में अनुकूलित किया जा सकता है (लेकिन इससे कम नहीं) प्रत्येक फ़ाइल के लिए तीन ड्राइव ऑपरेशन / फाइल-चंक के रूप में एक्सप्लोरर के दो के विपरीत: स्रोत से फाइल पढ़ें, लिखें गंतव्य के लिए फ़ाइल, और गंतव्य से फ़ाइल पढ़ें।
देखें कि क्या होता है जब आप किसी फाइल को टेराकोपी (एक एचडीडी-अनुकूलित एल्गोरिदम के साथ) कॉपी करते हैं:
- स्रोत ड्राइव से एक हिस्सा पढ़ें
- स्रोत ड्राइव से पढ़े हुए हंक को हैश करें
- सिस्टम के माध्यम से चंक भेजें
- इसे डेस्टिनेशन ड्राइव पर लिखें
- साफ कैश
- गंतव्य ड्राइव से वापस चंक पढ़ें
- गंतव्य ड्राइव से chunk हैश
- हैश की तुलना करें
- अगला कदम निर्धारित करें
- यदि हैश मेल नहीं खाता है, तो कार्रवाई के लिए त्रुटि और शीघ्र उपयोगकर्ता दें
- यदि हैश मेल नहीं खाता है और समाप्त नहीं हुआ है, तो चरण 1 पर वापस जाएं
समस्या यह है कि यदि आप स्थानांतरण के दौरान फ़ाइलों को कैश करते हैं, तो तुलना बेकार हो जाती है क्योंकि आप गंतव्य ड्राइव पर वास्तविक डेटा नहीं पढ़ रहे हैं, आप स्रोत से मेमोरी में कैश्ड कॉपी पढ़ रहे हैं। इसलिए, ठीक से सत्यापित करने के लिए, आपको कैश साफ़ करना होगा। यह प्रत्येक पढ़ने और लिखने के बाद किया जा सकता है (जो एक अतिरिक्त ऑपरेशन है जो किसी भी महत्वपूर्ण आकार की फ़ाइलों के लिए अनगिनत बार किया जाएगा), या पूरी फ़ाइल स्थानांतरित होने के बाद बस एक बार ।
नीचे दिए गए स्क्रीनशॉट के अनुसार, TeraCopy फ़ाइलों के हस्तांतरण के बाद सत्यापन करता है , उस दौरान नहीं। इसका अर्थ है कि यह इस CPU / RAM- अनुकूलित हस्तांतरण एल्गोरिथ्म का उपयोग करता है:
- स्रोत ड्राइव से एक हिस्सा पढ़ें
- सिस्टम के माध्यम से चंक भेजें
- इसे डेस्टिनेशन ड्राइव पर लिखें
- यदि अभी तक नहीं किया गया है, तो चरण 1 पर लौटें
- कॉपी समाप्त हो गई है, इसलिए स्पष्ट कैश और सत्यापन किया जा रहा है
- स्रोत ड्राइव से एक हिस्सा पढ़ें
- गंतव्य ड्राइव से chunk हैश
- गंतव्य ड्राइव से एक हिस्सा पढ़ें
- गंतव्य ड्राइव से chunk हैश
- हैश की तुलना करें
- अगला कदम निर्धारित करें
- यदि हैश मेल नहीं खाता है, तो कार्रवाई के लिए त्रुटि और शीघ्र उपयोगकर्ता दें
- यदि हैश मैच हो गया है और समाप्त नहीं हुआ है, तो चरण 6 पर वापस जाएं
जबकि यह एल्गोरिथ्म सीपीयू और रैम पर थोड़ा कम तनाव डालता है, यह ड्राइव (ओं) पर बहुत अधिक दबाव डालता है क्योंकि अब प्रत्येक फ़ाइल को चार बार संसाधित करना पड़ता है : स्रोत से पूरी फ़ाइल पढ़ें, इसे गंतव्य पर लिखें , फिर इसे स्रोत से फिर से पढ़ें, और फिर से गंतव्य से।
(यदि TeraCopy नेटवर्क स्थानान्तरण के लिए अनुकूलित किया गया था, तो यह पूरी फाइल को सत्यापन के लिए दूसरी बार भेजने से बच सकता है और केवल हैश भेज सकता है जो बहुत छोटे होते हैं, लेकिन वर्तमान में ऐसा प्रतीत नहीं होता है, और नेटवर्क ड्राइवरों को एक ही माना जाता है स्थानीय ड्राइव के रूप में, इसलिए यह वास्तव में स्रोत को फिर से पढ़ता है।)
डिफ़ॉल्ट रूप से, TeraCopy कैश का सत्यापन या उपयोग नहीं करता है। की पुष्टि नहीं हस्तांतरण में तेजी लाने के हैं (या अधिक सही, धीमा नहीं , इसे नीचे), जबकि कैश का उपयोग नहीं होगा यह धीमा।
आवेदन
अपने विशिष्ट गति परिणामों को निर्धारित करने के लिए, आपको अपनी सेटिंग्स को यह देखने के लिए देखना होगा कि क्या आपने उन्हें बदल दिया है। फिर आप अनुमानित करने की कोशिश कर सकते हैं कि अलग-अलग सेटिंग्स के साथ आपको किस तरह की गति मिलेगी (ध्यान रखें कि वे संभवतः बातचीत करेंगे, इसलिए यह जोड़ना या घटाना का एक साधारण मामला नहीं है)।
उसने कहा, चलो अपने नंबरों का उपयोग करते हुए एक सरसरी गणना करें:
- स्थानीय फ़ाइल स्थानांतरण: 875Mbps (यानी, ड्राइव की गति)
- नेटवर्क की गति: 1Gbps = 119.21 एमबीपीएस
- विंडोज एक्सप्लोरर के माध्यम से कॉपी करें: 109 एमबीपीएस
- TeraCopy के माध्यम से कॉपी करें: 34MBps
बल्ले से सही, हम देखते हैं कि एक्सप्लोरर का फाइल-ट्रांसफर आपके नेटवर्क थ्रूपुट को अधिकतम कर रहा है। 1Gbps लिंक प्रति सेकंड 1,000,000,000 बिट्स के बराबर है , जो बाइट्स की बाइनरी इकाइयों में 119MBps है। एक्सप्लोरर 109 एमबीपीएस देख रहा है, और शेष 10 एमबीपीएस (जो पर्याप्त रूप से आपके पिछले अधिकतम थे ) को आसानी से ओवरहेड, बैकग्राउंड लोड और विखंडन द्वारा हिसाब किया जा सकता है। :^Þ
(चूंकि हस्तांतरण की दर नेटवर्क की गति के लगभग बराबर है, इसलिए हम यह सुनिश्चित कर सकते हैं कि एक्सप्लोरर की फ़ाइल स्थानांतरण एक तरफ़ा है और प्रत्येक फ़ाइल की केवल एक प्रतिलिपि भेजी जा रही है।) एक्सप्लोरर को प्रति फ़ाइल दो फ़ाइल एक्सेस के लिए 110MBps मिलता है।
अब TeraCopy के लिए। ऐसा लगता है कि TeraCopy एक्सप्लोरर की गति का लगभग एक तिहाई हो रहा है।
इस पर निर्भर करता है कि उसकी प्राथमिकताएँ संवाद उस एल्गोरिथम का सही-सही संकेत दे रही हैं, जो उसका उपयोग करता है, तो टेरकोपी वास्तव में पूरे स्रोत फ़ाइल को दो बार भेज सकता है ताकि वह कॉपी की जांच कर सके। तुरंत, यह आधे हिस्से में थ्रूपुट को काट देता है। यदि कैश चालू है, तो वह भी गति को कम कर देता है क्योंकि उसे एक नया रंक भेजने से पहले प्रत्येक लिखने के लिए इंतजार करना पड़ता है। सत्यापन के साथ संयुक्त होने पर, यह और भी नीचे दस्तक दे सकता है।
यदि आपका सत्यापन और कैशिंग बंद है तो आपकी 34MBps की स्थानांतरण दर उचित है। यदि आप सत्यापन को बंद करते हैं और कैशिंग चालू करते हैं, तो आपको एक्सप्लोरर के समान होना चाहिए (आप अभी भी थोड़ा कम या थोड़ा अधिक प्राप्त कर सकते हैं, यह इस बात पर निर्भर करता है कि TeraCopy उपयोग करने वाले फ़ाइल-ट्रांसफर कोड उस एक्सप्लोरर से कितना भिन्न है)।
यदि आप लगभग 10GB ट्रांसफर करने के मूड में हैं, तो आप बस सेटिंग्स में बदलाव करने की कोशिश कर सकते हैं और चार में से प्रत्येक के लिए स्थानांतरण को फिर से शुरू कर सकते हैं और प्राप्त गति को नोट कर सकते हैं (सुरक्षित होने के लिए, इसे ऑर्डर करें ताकि कैश हो रन के बीच में:) V+C+, V+C-, V-C+, V-C-
।