Назад | Перейти на главную страницу

Производительность сети Windows (SMB / CIFS)

Доступны ли параметры реестра или другие параметры для настройки производительности сети Windows (SMB / CIFS)?

Я пытаюсь добиться максимальной пропускной способности для операций копирования больших файлов, но любые настройки были бы интересны.

До сих пор:

Настройки TCP


Прочие факторы


Общие ресурсы

Какая ОС у вашего клиента и сервера? Одна вещь, которая может иметь значение, - это обновить ваши серверы до Windows 2008 и клиентов до Vista. Когда вы сделаете это, вы сможете воспользоваться SMB2 который менее болтлив, имеет большие буферы и может выполнять несколько задач за один запрос, что делает его менее чувствительным к задержкам.

Начните с включения масштабирования окна TCP (RFC 1323). Вот отличная статья объясняя, как это сделать и что он делает.

Пока вы это делаете, вы, вероятно, захотите отрегулировать размер окна TCP. Правильный размер рассчитывается на основе ваших конкретных условий сети. У меня нет большого опыта в этом, но есть различные калькуляторы и / или руководства, которые вы можете найти в Google.

Из «Рекомендации по настройке производительности для Windows Server 2008»:

Параметры сервера

TreatHostAsStableStorage

HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)

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


Асинхронные кредиты

HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)

Значение по умолчанию - 512. Этот параметр ограничивает количество одновременных «асинхронных» команд SMB, разрешенных для одного соединения. Некоторые файловые клиенты, такие как серверы IIS, требуют большого количества одновременных операций, в частности, с запросами уведомлений об изменении файлов. Значение этой записи может быть увеличено для поддержки этих клиентов.


Smb2CreditsMin и Smb2CreditsMax

HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)

Значения по умолчанию - 64 и 1024 соответственно. Эти параметры позволяют серверу динамически регулировать параллелизм клиентских операций в указанных границах. Некоторые клиенты могут достичь повышенной пропускной способности за счет более высоких ограничений параллелизма. Одним из примеров является копирование файлов по каналам с высокой пропускной способностью и высокой задержкой.


AdditionalCriticalWorkerThreads

HKLM\System\CurrentControlSet\Control\Session Manager\Executive\(REG_DWORD)

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

Клиент

DisableBandwidthThrottling

HKLM\system\CurrentControlSet\Services\lanmanworkstation\parameters\(REG_DWORD)

По умолчанию - 0. Этот параметр доступен, начиная с Windows Server 2008 SP2. По умолчанию перенаправитель SMB в некоторых случаях регулирует пропускную способность сетевых подключений с высокой задержкой, чтобы избежать тайм-аутов, связанных с сетью. Установка для этого параметра реестра значения 1 отключает это регулирование, обеспечивая более высокую пропускную способность передачи файлов по сетевым соединениям с высокой задержкой.

Если вы используете протокол SMB3, вы можете повысить производительность, а) добавив несколько сетевых карт на стороне сервера и включив многоканальную функцию SMB3. Б) Если вы добавите несколько сетевых карт на стороне клиента, функция масштабирования на стороне приема будет SMB3 улучшит производительность c) Вы также можете использовать опцию SMB Direct, если у вас есть карты RDMA.

Не специфично для Windows, но если вы используете гигабитный Ethernet, вы можете рассмотреть возможность увеличения максимальной единицы передачи (MTU). От значения по умолчанию 1492 до максимального значения 9000. Это уменьшает требуемые накладные расходы, поскольку для передачи одного и того же файла потребуется меньше фрагментов.

Если ваш лимит составляет не менее 1 МБ / с, тогда Пределы пропускной способности SMB Функция, представленная в Windows Server 2012 R2, является встроенной функцией.

Включение ограничений пропускной способности SMB через Powershell

Add-WindowsFeature FS-SMBBW
Set-SmbBandwidthLimit –Category Default -BytesPerSecond 1MB

Из TechNet:

MaxUserPort

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\(REG_DWORD)

По умолчанию: 5000
Диапазон: 5,000–65 534 (номер порта)

Задает наивысший номер порта, который TCP может назначить, когда приложение запрашивает доступный пользовательский порт из системы. Как правило, временные порты (используемые кратко) назначаются портам с номерами от 1024 до 5000.