Поделиться через


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

Сервисы для модели NFS

В следующих разделах содержатся сведения о модели служб Майкрософт для сетевой файловой системы (NFS) для взаимодействия между клиентом и сервером. Поскольку NFS v2 и NFS v3 по-прежнему являются наиболее широко распространенными версиями протокола, все разделы реестра, за исключением MaxConcurrentConnectionsPerIp, применяются только к NFS v2 и NFS v3.

Для протокола NFS v4.1 настройка реестра не требуется.

Обзор модели сервиса для NFS

Службы Майкрософт для NFS предоставляют решение для совместного использования файлов для предприятий с смешанной средой Windows и UNIX. Эта модель коммуникации состоит из клиентских компьютеров и сервера. Приложения на клиенте запрашивают файлы, которые находятся на сервере, через перенаправитель (Rdbss.sys) и мини-перенаправитель NFS (Nfsrdr.sys). Мини-перенаправление использует протокол NFS для отправки запроса через TCP/IP. Сервер получает несколько запросов от клиентов через TCP/IP и направляет запросы в локальную файловую систему (Ntfs.sys), которая обращается к стеку хранилища.

На следующем рисунке показана модель связи для NFS.

Модель связи NFS

Настройка параметров файловых серверов NFS

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

  • Оптимальные чтения

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\OptimalReads
    

    Значение по умолчанию — 0. Этот параметр определяет, будут ли файлы открываться для FILE_RANDOM_ACCESS или для FILE_SEQUENTIAL_ONLY, в зависимости от характеристик ввода-вывода рабочей нагрузки. Установите это значение равным 1, чтобы принудительно открывать файлы для FILE_RANDOM_ACCESS. FILE_RANDOM_ACCESS предотвращает предварительную загрузку файловой системы и менеджера кэша.

    Замечание

    Этот параметр следует тщательно оценить, так как он может оказать потенциальное влияние на рост системного файлового кэша.

  • RdWrHandleLifeTime (Время жизни)

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrHandleLifeTime
    

    Значение по умолчанию равно 5. Этот параметр управляет временем существования записи кэша NFS в кэше дескрипторов файлов. Этот параметр относится к записям кэша, с которыми связан открытый дескриптор файла NTFS. Фактическое время жизни примерно равно RdWrHandleLifeTime, умноженному на RdWrThreadSleepTime. Минимум — 1, а максимум — 60.

  • RdWrNfsHandleLifeTime

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrNfsHandleLifeTime
    

    Значение по умолчанию равно 5. Этот параметр управляет временем существования записи кэша NFS в кэше дескрипторов файлов. Этот параметр относится к записям кэша, с которыми не связан открытый дескриптор файла NTFS. Службы для NFS используют эти записи кэша для хранения атрибутов файла без сохранения открытого дескриптора в файловой системе. Фактическое время жизни примерно равно RdWrNfsHandleLifeTime, умноженному на RdWrThreadSleepTime. Минимум — 1, а максимум — 60.

  • RdWrNfsReadHandlesLifeTime

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrNfsReadHandlesLifeTime
    

    Значение по умолчанию равно 5. Этот параметр управляет временем существования записи кэша чтения NFS в кэше дескрипторов файлов. Фактическое время жизни примерно равно RdWrNfsReadHandlesLifeTime, умноженному на RdWrThreadSleepTime. Минимум — 1, а максимум — 60.

  • RdWrThreadSleepTime (Время сна)

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrThreadSleepTime
    

    Значение по умолчанию равно 5. Этот параметр управляет интервалом ожидания перед запуском потока очистки в кэше дескрипторов файлов. Значение указано в тиках, и оно недетерминировано. Такт эквивалентен примерно 100 наносекундам. Минимум — 1, а максимум — 60.

  • FileHandleCacheSizeв МБ

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\FileHandleCacheSizeinMB
    

    Значение по умолчанию равно 4. Этот параметр указывает максимальный объем памяти, который будет использоваться записями кэша дескрипторов файлов. Минимальное значение равно 1, а максимальное — 1*1024*1024*1024 (1073741824).

  • LockFileHandleCacheInMemory (БлокируйсяФайлHandleCacheInMemory)

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\LockFileHandleCacheInMemory
    

    Значение по умолчанию — 0. Этот параметр указывает, заблокированы ли в памяти физические страницы, выделенные для размера кэша, указанного в FileHandleCacheSizeInMB. Если установить для этого параметра значение 1, это действие будет включено. Страницы блокируются в памяти (не выгружаются на диск), что повышает производительность разрешения дескрипторов файлов, но уменьшает объем памяти, доступной для приложений.

  • MaxIcbNfsReadHandlesCacheSize

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\MaxIcbNfsReadHandlesCacheSize
    

    Значение по умолчанию — 64. Этот параметр указывает максимальное количество дескрипторов на том для кэша считанных данных. Записи кэша чтения создаются только в системах с объемом памяти более 1 ГБ. Минимальное значение равно 0, а максимальное — 0xFFFFFFFF.

  • HandleSigningEnabled (HandleSigningEnabled)

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\HandleSigningEnabled
    

    Значение по умолчанию — 1. Этот параметр определяет, подписываются ли дескрипторы, выдаваемые файловым сервером NFS, криптографически. Установка значения 0 отключает подписание дескрипторов.

  • RdWrNfsDeferredWritesFlushDelay

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrNfsDeferredWritesFlushDelay
    

    Значение по умолчанию равно 60. Этот параметр является мягким тайм-аутом, который управляет продолжительностью кэширования данных NFS V3 UNSTABLE Write. Минимум – 1, а максимальный – 600. Фактическое время жизни примерно равно RdWrNfsDeferredWritesFlushDelay, умноженному на RdWrThreadSleepTime.

  • CacheAddFromCreateAndMkDir

    HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\CacheAddFromCreateAndMkDir
    

    Значение по умолчанию — 1 (включено). Этот параметр определяет, сохраняются ли дескрипторы, открытые во время обработчиков процедур NFS V2 и V3 CREATE и MKDIR RPC, в кэше дескрипторов файлов. Установите это значение равным 0, чтобы отключить добавление записей в кэш в путях кода CREATE и MKDIR.

  • AdditionalDelayedWorkerThreads (Дополнительные отложенныеWorkerThreads)

    HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\Executive\AdditionalDelayedWorkerThreads
    

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

  • NtfsDisable8dot3ИмяСоздание

    HKLM\System\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation
    

    Значение по умолчанию в Windows Server 2012, Windows Server 2012 R2 и более поздних версиях Windows Server — 2. В выпусках, предшествующих Windows Server 2012, значение по умолчанию — 0. Этот параметр определяет, создает ли NTFS короткое имя в соответствии с соглашением об именовании 8dot3 (MSDOS) для длинных имен файлов и для имен файлов, содержащих символы из расширенного набора символов. Если значение этой записи равно 0, файлы могут иметь два имени: имя, указанное пользователем, и короткое имя, созданное NTFS. Если имя, указанное пользователем, соответствует соглашению об именовании 8dot3, NTFS не создает короткое имя. Значение 2 означает, что этот параметр можно настроить для каждого тома.

    Замечание

    Системный том по умолчанию имеет 8dot3. Для всех остальных томов в Windows Server 2012 и Windows Server 2012 R2 8dot3 отключена по умолчанию. Изменение этого значения не изменяет содержимое файла, но позволяет избежать создания атрибута короткого имени для файла, что также изменяет способ отображения файла в NTFS и управления им. Для большинства файловых серверов рекомендуемая настройка — 1 (отключено).

  • NtfsDisableLastAccessUpdate (NtfsDisableLastAccessUpdate)

    HKLM\System\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate
    

    Значение по умолчанию — 1. Этот системный глобальный коммутатор снижает нагрузку на дисковый ввод-вывод и задержки, отключая обновление метки даты и времени для последнего доступа к файлу или каталогу.

  • MaxConcurrentConnectionsPerIp

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rpcxdr\Parameters\MaxConcurrentConnectionsPerIp
    

    Значение параметра MaxConcurrentConnectionsPerIp по умолчанию равно 16. Вы можете увеличить это значение до максимального значения 8192, чтобы увеличить количество подключений на IP-адрес.