विंडोज़ में नेटवर्क साझा फ़ोल्डर में फ़ाइलें खोलते या सहेजते समय हमारे उपयोगकर्ता बहुत धीमे नेटवर्क प्रदर्शन के बारे में शिकायत कर रहे हैं। जब कोई उपयोगकर्ता यूएनसी पथ के माध्यम से या ड्राइव अक्षर के माध्यम से एक साझा फ़ोल्डर खोलता है (यदि साझा फ़ोल्डर को नेटवर्क ड्राइव के रूप में मैप किया गया है), तो इसकी सामग्री केवल 10-60 सेकंड में प्रदर्शित होती है। नेटवर्क फ़ोल्डर में नई फ़ाइलें बनाते समय, वे भी तुरंत प्रदर्शित नहीं होती हैं, लेकिन 3-4 मिनट के बाद लंबी देरी के साथ (भले ही आप फ़ोल्डर की सामग्री को F5
के साथ अपडेट करते हैं) चाभी)। हालाँकि, यदि आप मैन्युअल रूप से एक UNC पथ के माध्यम से पूर्ण फ़ाइल नाम निर्दिष्ट करते हैं (\\lon-file-srv1\public\new_file.docx
), यह खुल जाएगा, हालांकि यह फाइल एक्सप्लोरर में दिखाई नहीं देगा।
Windows एक विशेष नेटवर्क पुनर्निर्देशक का उपयोग करता है घटक जब दूरस्थ कंप्यूटर पर साझा की गई फ़ाइलों और अन्य नेटवर्क संसाधनों तक पहुँच प्राप्त करते हैं। SMB v2.x (सर्वर संदेश ब्लॉक प्रोटोकॉल संस्करणों के साथ तालिका देखें) से शुरू होकर, नेटवर्क पर साझा किए गए फ़ोल्डरों और फ़ाइलों तक पहुँचने के दौरान नेटवर्क पुनर्निर्देशक एक कैशिंग तंत्र का उपयोग करता है। यह क्लाइंट और सर्वर के बीच ट्रैफ़िक और SMB अनुरोधों की संख्या को कम करता है (विशेष रूप से धीमे और अविश्वसनीय नेटवर्क पर प्रभावी)। डिफ़ॉल्ट रूप से, यह कैश हर 10 सेकंड में साफ़ हो जाता है।
यदि आप Windows क्लाइंट डिवाइस पर नेटवर्क शेयर तक धीमी पहुंच का अनुभव कर रहे हैं, तो आप क्लाइंट साइड पर या साझा फ़ोल्डर सेटिंग्स में SMB मेटाडेटा कैशिंग को अक्षम करने का प्रयास कर सकते हैं।
आप साझा फ़ोल्डर सेटिंग में SMB कैशिंग अक्षम कर सकते हैं। साझा किए गए फ़ोल्डर के गुण खोलें, और साझाकरण . पर जाएं टैब -> उन्नत साझाकरण -> कैशिंग . दूसरा विकल्प चुनें “साझा फ़ोल्डर से कोई फ़ाइल या प्रोग्राम ऑफ़लाइन उपलब्ध नहीं हैं .
या पावरशेल कमांड का उपयोग करें:
सेट-एसएमबीशेयर-नाम MySharedDocs-CachingModeकोई नहीं
यह इस साझा फ़ोल्डर में कैशिंग और ऑफ़लाइन पहुंच दोनों को अक्षम कर देगा (विंडोज़ में ऑफ़लाइन फ़ाइलों का उपयोग करने पर लेख देखें)।
तीन रजिस्ट्री पैरामीटर हैं जो SMB क्लाइंट साइड पर नेटवर्क साझा फ़ोल्डर कैश सेटिंग्स को प्रबंधित करते हैं। Microsoft बताता है कि इन रजिस्ट्री विकल्पों के लिए डिफ़ॉल्ट मान अधिकांश परिवेशों के लिए सर्वश्रेष्ठ प्रदर्शन प्रदान करते हैं। SMB कैश सेटिंग्स रजिस्ट्री कुंजी HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters के अंतर्गत स्थित हैं ।
- DirectoryCacheलाइफटाइम साझा फ़ोल्डर मेटाडेटा कैश का जीवनकाल है (डिफ़ॉल्ट रूप से 10 सेकंड);
- FileNotFoundCacheलाइफटाइम - "फ़ाइल नहीं मिली" प्रतिक्रिया कैश (5 सेकंड);
- FileInfoCacheलाइफटाइम - कैश को फ़ाइल जानकारी (10 सेकंड) के साथ रखने का समय।
डिफ़ॉल्ट रूप से, किसी SMB शेयर फ़ोल्डर के लिए कैश लाइफ़टाइम केवल 10 सेकंड का होता है। जब कोई क्लाइंट किसी साझा किए गए फ़ोल्डर की सामग्री को ताज़ा करता है, तो अंतिम अद्यतन का परिणाम क्लाइंट द्वारा 10 सेकंड के लिए संग्रहीत किया जाता है। इस नेटवर्क शेयर को एक्सेस करते समय, सभी एप्लिकेशन पहले इस कैशे का उपयोग करने का प्रयास करते हैं।
कुछ मामलों में, एसएमबी फ़ोल्डरों में डेटा कैशिंग के लिए तंत्र सही ढंग से काम नहीं करता है (अक्सर ऐसा नेटवर्क फ़ोल्डर्स/डिस्क के साथ होता है जिसमें हजारों फाइलें और फ़ोल्डर्स होते हैं)। इस मामले में, उपयोगकर्ताओं को साझा किए गए फ़ोल्डरों में फ़ाइलें खोलने, देखने और बनाने में महत्वपूर्ण देरी का अनुभव हो सकता है।
आप SMB फ़ोल्डर के लिए कैशिंग अक्षम कर सकते हैं। ऐसा करने के लिए, HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters के अंतर्गत एक नया DWORD पैरामीटर बनाएं DirectoryCacheLifetime . नाम की रजिस्ट्री कुंजी और 0 . का मान . FileInfoCacheLifetime . के मान भी सेट करें और FileNotFoundCacheLifetime आप इस रजिस्ट्री पैरामीटर को regedit.exe
. का उपयोग करके बना सकते हैं या New-ItemProperty PowerShell cmdlet के साथ:
$regpath="HKLM:\System\CurrentControlSet\Services\LanmanWorkstation\Parameters"
$Name1 ="DirectoryCacheLifetime"
$Name2 ="FileInfoCacheLifetime"
$Name3 ="FileNotFoundCacheLifetime"
नया-आइटमप्रॉपर्टी-पथ $regpath-नाम निर्देशिका कैशेलाइफटाइम-मान 0-प्रॉपर्टीटाइप DWORD-Force | आउट-नल
नया-आइटमप्रॉपर्टी -पथ $regpath -नाम FileInfoCacheLifetime -Value 0 -PropertyType DWORD -Force | आउट-नल
नया-आइटमप्रॉपर्टी -पथ $regpath -नाम FileNotFoundCacheLifetime -Value 0 -PropertyType DWORD -Force | आउट-नल
सेटिंग्स को प्रभावी करने के लिए आपको अपने कंप्यूटर को पुनरारंभ करना होगा। यदि इन मापदंडों को एकाधिक डोमेन कंप्यूटरों पर लागू करने की आवश्यकता है, तो आप रजिस्ट्री सेटिंग्स को परिनियोजित करने के लिए GPO का उपयोग कर सकते हैं।
नेटवर्क फ़ोल्डर कैशिंग को अक्षम करने से नेटवर्क ट्रैफ़िक बढ़ता है और फ़ाइल-सर्वर प्रदर्शन कम हो जाता है।आप SMB क्लाइंट को फाइन-ट्यून करने के लिए Set-SmbClientConfiguration cmdlet का भी उपयोग कर सकते हैं:
सेट-SmbClientConfiguration -DirectoryCacheLifetime 0
Set-SmbClientConfiguration -FileInfoCacheLifetime 0
Set-SmbClientConfiguration -FileNotFoundCacheLifetime 0
आप PowerShell के साथ Windows SMB क्लाइंट के लिए वर्तमान कैशिंग सेटिंग सूचीबद्ध कर सकते हैं:
प्राप्त करें-SmbClientConfiguration| चुनें *कैश*
DirectoryCacheEntriesMax:16DirectoryCacheEntrySizeMax:65536DirectoryCacheLifetime:0FileInfoCacheEntriesMax:64FileInfoCacheLifetime:0FileNotFoundCacheEntriesMax:128FileNotFoundCacheलाइफटाइम:0
उसके बाद, साझा किए गए सभी परिवर्तनों को तुरंत क्लाइंट पर प्रदर्शित किया जाएगा (फ़ोल्डर की सामग्री को हर बार एक्सेस करने पर ताज़ा किया जाता है और स्थानीय कैश का उपयोग नहीं किया जाता है)।
साझा किए गए फ़ोल्डरों के खराब नेटवर्क प्रदर्शन के कई अन्य कारण हैं, या जब फ़ोल्डर की सामग्री धीरे-धीरे दिखाई दे सकती है:
- साझा फ़ोल्डर सेटिंग में "पहुँच-आधारित गणना (ABE)" विकल्प को सक्षम करने से बड़ी संख्या में ऑब्जेक्ट वाले साझा फ़ोल्डर में फ़ाइलों की सूची का धीमा अद्यतन हो सकता है;
- आप Windows Server 2019 (Windows Server 2016/2012R2 की तुलना में) पर चलने वाली Hyper-V वर्चुअल मशीनों पर धीमी नेटवर्क गति का अनुभव कर सकते हैं;
- डोमेन से जुड़े उपकरणों (
ncpa.cpl
पर अपने TCP/IPv4 कनेक्शन के गुणों में लीगेसी NetBIOS प्रोटोकॉल को अक्षम करने का प्रयास करें (ncpa.cpl
) -> नेटवर्क एडेप्टर की TCP/IPv4 सेटिंग खोलें और TCIP पर NetBIOS अक्षम करें चुनें जीतता . पर टैब); - विंडोज क्लाइंट डिवाइस पर नेटवर्क और टीसीपी/आईपी स्टैक सेटिंग्स को रीसेट करने का प्रयास करें। Windows 10+ पर, आप नेटवर्क रीसेट . विकल्प का उपयोग कर सकते हैं सेटिंग पैनल में या कमांड का उपयोग करें:
netsh int ip reset