Забавяне на нови файлове в мрежова папка на Windows Server 2008 R2

При един от клиентите потребителите постоянно се оплакват, че новите файлове в споделена мрежова папка на Windows Server 2008 R2 не се появяват веднага, но с голямо закъснение, дори при актуализиране на съдържанието на папка от F5. Независимо дали потребителят отваря мрежовата папка по UNC пътеки или е свързан като мрежово устройство, новите файлове и папки не се появяват веднага след копирането или създаването, но след една или две минути. Освен това, ако ръчно посочите пълното име на файла през пътя на UNC (\\ srv1 \ share \ file1.txt), тя се отваря, въпреки че не се вижда в папката.

По този начин, в някои моменти, списъкът с файлове в една и съща мрежова папка при гледане на различни компютри може да не съвпада. Обърнете внимание, че Windows 7 използва Windows 7 като операционна система на работния плот.

Факт е, че във версията на SMB v2.x, въведена в Windows 2008 / Vista (вижте таблицата с версиите на SMB протокола), за да намалите трафика и броя на SMB заявките между SMB клиента и сървъра и да ускорите достъпа до споделените папки и файлове от мрежата започна да използва кеширащия механизъм (това дава осезаем ефект при достъп до мрежова папка чрез бавен канал или канал с големи закъснения). Следователно компонентът Microsoft Redirector на компютрите на потребителите използва локален кеш с метаданни от мрежовата директория. По подразбиране този кеш се задейства на всеки 10 секунди..

В случай, че имате и забавяне на появата на нови файлове в мрежови папки, можете да деактивирате кеширането на метаданни за SMB v2 протокола от страна на клиента.

съвет. Обърнете внимание, че компютри с Windows 8 и Windows 10 използват SMB v2 клиента за достъп до мрежови папки на Windows Server 2008 R2, въпреки че поддържат по-новия SMB v3 протокол. За да определите версията на SMB протокола, чрез която клиентът комуникира със сървъра, изпълнете следната команда Powershell:

Get-SmbConnection

Има три настройки на системния регистър, които контролират настройките за кеширане на мрежовите папки от страна на SMB клиента. Microsoft твърди, че стойностите по подразбиране за тези клавиши осигуряват най-добрата производителност в повечето среди. Тези настройки за управление на кеш SMB2 са в клона на системния регистър HKLM \ System \ CurrentControlSet \ Services \ LanmanWorkstation \ Параметри.

  • DirectoryCacheLifetime - живот на кеша на метаданни в папката (10 секунди по подразбиране).
  • FileNotFoundCacheLifetime - кеш на отговора „Файлът не е намерен“ (5 секунди).
  • FileInfoCacheLifetime - кеш памет с информация за файла (10 секунди).

Така по подразбиране продължителността на кеша в папката SMBv2 е 10 секунди. Когато клиентът актуализира съдържанието на мрежовата папка, резултатът от последната актуализация се съхранява от клиента за 10 секунди. При достъп до тази директория всички приложения първо се опитват да използват този кеш..

В случай, че сте изправени пред факта, че новите файлове не се показват веднага в мрежовата папка, тогава трябва да проверите стойността на ключа на системния регистър DirectoryCacheLifetime и го намали (или напълно го деактивира).

За да деактивирате кеширането на съдържанието на SMB папка в клона на системния регистър HKLM \ System \ CurrentControlSet \ Services \ LanmanWorkstation \ Параметри създавам DWORD параметър с име DirectoryCacheLifetime и го променете на 0 и рестартирайте компютъра (по същия начин можете да промените стойностите на параметрите FileInfoCacheLifetime и FileNotFoundCacheLifetime на 0).

След това всички промени в мрежовата папка ще бъдат незабавно показани на клиента (съдържанието на папката се актуализира всеки път и локалният кеш не се използва).