U jedného zo zákazníkov si používatelia neustále sťažujú, že nové súbory v zdieľanom sieťovom priečinku v systéme Windows Server 2008 R2 sa nezobrazia okamžite, ale s veľkým oneskorením, a to ani pri aktualizácii obsahu priečinka pomocou F5. Bez ohľadu na to, či používateľ otvorí sieťový priečinok prostredníctvom ciest UNC alebo či je pripojený ako sieťová jednotka, nové súbory a priečinky sa nezobrazia okamžite po kopírovaní alebo vytvorení, ale po jednej alebo dvoch minútach. Navyše, ak manuálne zadáte celý názov súboru cestou UNC (\\ srv1 \ share \ file1.txt
), otvorí sa, hoci v priečinku nie je viditeľná.
V niektorých časových okamihoch sa preto zoznam súborov v rovnakom sieťovom priečinku pri prezeraní na rôznych počítačoch nemusí zhodovať. Upozorňujeme, že systém Windows 7 používa systém Windows 7 ako stolný operačný systém.
Faktom je, že vo verzii SMB v2.x zavedenej v systéme Windows 2008 / Vista (pozri tabuľku s verziami protokolu SMB), aby sa znížil prenos a počet požiadaviek SMB medzi klientom SMB a serverom a aby sa urýchlil prístup k zdieľaným zložkám a súborom prostredníctvom sieť začala používať mechanizmus ukladania do vyrovnávacej pamäte (to dáva hmatateľný efekt pri prístupe k sieťovému priečinku cez pomalý kanál alebo kanál s veľkým oneskorením). Preto súčasť Microsoft Redirector na počítačoch používateľov používa lokálnu vyrovnávaciu pamäť s metadátmi sieťového adresára. V predvolenom nastavení je táto vyrovnávacia pamäť vyprázdnená každých 10 sekúnd..
V prípade oneskorenia vo výskyte nových súborov v sieťových priečinkoch môžete zakázať ukladanie metadát do pamäte cache pre protokol SMB v2 na strane klienta..
rada. Počítače so systémom Windows 8 a Windows 10 používajú klienta SMB v2 na prístup k sieťovým zložkám v systéme Windows Server 2008 R2, hoci podporujú novší protokol SMB v3. Ak chcete zistiť verziu protokolu SMB, prostredníctvom ktorej klient komunikuje so serverom, spustite nasledujúci príkaz Powershell:Get-SmbConnection
Existujú tri nastavenia registra, ktoré riadia nastavenia ukladania do pamäte cache sieťových priečinkov na strane klienta SMB. Microsoft tvrdí, že predvolené hodnoty pre tieto kľúče poskytujú najlepší výkon pre väčšinu prostredí. Tieto nastavenia správy vyrovnávacej pamäte SMB2 sú vo vetve registra HKLM \ System \ CurrentControlSet \ Services \ LanmanWorkstation \ Parameters.
- DirectoryCacheLifetime - Životnosť vyrovnávacej pamäte metadát sieťového priečinka (predvolene 10 sekúnd).
- FileNotFoundCacheLifetime - vyrovnávacia pamäť odpovedí „Súbor nebol nájdený“ (5 sekúnd).
- FileInfoCacheLifetime - vyrovnávacia pamäť s informáciami o súbore (10 sekúnd).
V predvolenom nastavení je teda životnosť vyrovnávacej pamäte v priečinku SMBv2 10 sekúnd. Keď klient aktualizuje obsah sieťového priečinka, výsledok poslednej aktualizácie uloží klient na 10 sekúnd. Pri prístupe do tohto adresára sa všetky aplikácie najprv pokúsia použiť túto vyrovnávaciu pamäť..
V prípade, že čelíte skutočnosti, že nové súbory sa v sieťovom priečinku okamžite nezobrazia, musíte skontrolovať hodnotu kľúča databázy Registry. DirectoryCacheLifetime a znížte ho (alebo ho úplne vypnite).
Ak chcete zakázať ukladanie obsahu priečinkov SMB do vyrovnávacej pamäte, v vetve registra HKLM \ System \ CurrentControlSet \ Services \ LanmanWorkstation \ Parameters vytvoriť DWORD parameter pomenovaný DirectoryCacheLifetime a zmeniť na 0 a reštartujte počítač (rovnakým spôsobom môžete zmeniť hodnoty parametrov FileInfoCacheLifetime a FileNotFoundCacheLifetime na 0).
Potom sa všetky zmeny v sieťovom priečinku okamžite zobrazia na klientovi (obsah priečinka sa zakaždým aktualizuje a nepoužije sa lokálna vyrovnávacia pamäť).