Настройка производительности файлового сервера

Необходимо выбрать подходящее оборудование для удовлетворения ожидаемой нагрузки файлового сервера, учитывая среднюю нагрузку, пиковую нагрузку, емкость, планы роста и время отклика. Узкие места оборудования ограничивают эффективность настройки программного обеспечения.

Общие параметры настройки для клиентов

Следующие REG_DWORD параметры реестра могут повлиять на производительность клиентских компьютеров, взаимодействующих с файловыми серверами блока сообщений сервера (SMB):

Запись реестра Путь к реестру Default Допустимый диапазон Description
ConnectionCountPerNetworkInterface HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ConnectionCountPerNetworkInterface 1 1-16 Максимальное количество подключений на интерфейс, устанавливаемых с сервером для интерфейсов, отличных от RSS.
ConnectionCountPerRssNetworkInterface HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ConnectionCountPerRssNetworkInterface 4 1-16 Максимальное количество подключений на интерфейс, устанавливаемых с сервером для интерфейсов RSS.
ConnectionCountPerRdmaNetworkInterface HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ConnectionCountPerRdmaNetworkInterface 2 1-16 Максимальное количество подключений на интерфейс, которые могут быть установлены с сервером для интерфейсов RDMA.
MaximumConnectionCountPerServer HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\MaximumConnectionCountPerServer 32 1-64 Максимальное количество подключений, установленных с одним сервером под управлением Windows Server 2012 во всех интерфейсах.
DormantDirectoryTimeout HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DormantDirectoryTimeout 600 Максимальное время удерживания дескрипторов каталога сервера открытыми с помощью аренды каталога в секундах.
FileInfoCacheLifetime HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileInfoCacheLifetime 10 Период времени ожидания кэша сведений о файлах в секундах.
DirectoryCacheLifetime1 HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DirectoryCacheLifetime 10 Время ожидания кэша каталогов в секундах.
DirectoryCacheEntrySizeMax HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DirectoryCacheEntrySizeMax 64 КБ Максимальный размер записей кэша каталогов в килобайтах.
FileNotFoundCacheLifetime HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileNotFoundCacheLifetime 5 Период времени ожидания кэша в секундах, когда файл не найден.
CacheFileTimeout HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\CacheFileTimeout 10 Продолжительность времени в секундах, в течение которого перенаправитель будет хранить кэшированные данные для файла после закрытия последнего дескриптора файла приложением.
DisableBandwidthThrottling HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DisableBandwidthThrottling 0 При установке этого значения значение равно 1 отключает регулирование и позволяет повысить пропускную способность передачи файлов через сетевые подключения с высокой задержкой.
DisableLargeMtu HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DisableLargeMtu SMB-редиректор передает полезную нагрузку размером до 1 МБ за запрос, что может повысить скорость передачи файлов. Если задать это значение реестра, это значение равно 1 , размер запроса — 64 КБ. Перед применением этого параметра необходимо оценить влияние этого параметра. Значение по умолчанию для Windows 8 равно 0.
RequireSecuritySignature HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\RequireSecuritySignature 0 Изменение этого значения на 1 позволяет подписывать SMB для всех подключений SMB, предотвращая взаимодействие SMB с компьютерами, где подпись SMB отключена. Подписывание SMB может увеличить затраты на центральный процессор и количество сетевых обменов, но помогает блокировать атаки типа «человек посередине». Если подпись SMB не требуется, убедитесь, что это значение реестра равно 0 на всех клиентах и серверах.
FileInfoCacheEntriesMax HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileInfoCacheEntriesMax 64 1-65536 Определяет объем метаданных файла, которые можно кэшировать клиентом. Увеличение значения может снизить сетевой трафик и повысить производительность при доступе к большому количеству файлов.
DirectoryCacheEntriesMax HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DirectoryCacheEntriesMax 16 1-4096 Определяет объем сведений о каталоге, которые можно кэшировать клиентом. Увеличение значения позволяет сократить сетевой трафик и повысить производительность, если осуществляется доступ к большому числу каталогов.
FileNotFoundCacheEntriesMax HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileNotFoundCacheEntriesMax 128 1-65536 Определяет объем сведений о имени файла, которые можно кэшировать клиентом. Увеличение значения может снизить сетевой трафик и повысить производительность при доступе к большому количеству имен файлов.
MaxCmds HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\MaxCmds 15 Ограничивает количество невыполненных запросов в сеансе. Увеличение значения может использовать больше памяти, но это может повысить производительность, включив более глубокий конвейер запросов. Увеличение значения с помощью MaxMpxCt также может устранять ошибки, возникающие из-за большого количества невыполненных долгосрочных запросов файлов, таких как вызовы FindFirstChangeNotification . Этот параметр не влияет на подключения к серверам SMB 2.0.
DormantFileLimit HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DormantFileLimit 1023 Указывает максимальное количество файлов, которые должны оставаться открытыми в общем ресурсе после закрытия файла.

Note

1 Запись реестра DirectoryCacheLifetime управляет кэшированием метаданных каталога в отсутствие аренды каталога.

Известная проблема в Windows 10 версии 1803 влияет на способность Windows 10 кэшировать большие каталоги. Чтобы устранить эту проблему, установите Windows 10 версии 1809 или более поздней версии.

Чтобы обойти эту проблему, задайте для DirectoryCacheLifetime значение 0. Эта проблема влияет на следующие выпуски Windows 10:

  • Windows 10 Enterprise версии 1803;
  • Windows 10 Pro для рабочих станций версии 1803
  • Windows 10 Pro для образовательных учреждений, версия 1803
  • Windows 10 Профессиональный, версия 1803
  • Windows 10 для образовательных учреждений, версия 1803
  • Windows 10 Home, версия 1803

Пример настройки клиента

Общие параметры настройки клиентских компьютеров могут оптимизировать компьютер для доступа к удаленным общим папкам, особенно в некоторых сетях с высокой задержкой (например, филиалах, межцентровой коммуникации, домашних офисах и мобильных широкополосных сетях). Эти параметры не являются оптимальными или подходящими на всех компьютерах. Перед применением их следует оценить влияние отдельных параметров.

Запись реестра Value Default
DisableBandwidthThrottling 1 0
FileInfoCacheEntriesMax 32768 64
DirectoryCacheEntriesMax 4096 16
FileNotFoundCacheEntriesMax 32768 128
MaxCmds 32768 15

Начиная с Windows 8, вы можете настроить многие из этих параметров SMB с помощью командлетов Windows PowerShell Set-SmbClientConfiguration и Set-SmbServerConfiguration. Параметры только для реестра можно настроить с помощью Windows PowerShell, например:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" RequireSecuritySignature -Value 0 -Force