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


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

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

Так далеко:

Настройки TCP

  • Отрегулируйте MTU
  • Включить масштабирование окна TCP (RFC 1323). Детали Вот,
  • Разрешить порты выше 5000. Подробнее Вот,


Другие факторы

  • SMB2 имеет преимущества по сравнению с SMB. Детали Вот а также Вот,


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


5
2018-05-04 23:54


Источник


Операционная система NetApp Data Ontap использует собственные oplocks или Opportunistic, поэтому обрабатывает тайм-ауты Windows smb 1.0 / 2.0. Отличная почта.
По моему опыту, для максимальной пропускной способности на общем ресурсе SMB вам необходимо скопировать многопоточную систему с помощью инструмента RoboCopy. Например: с общим USB-накопителем один поток может получить 5 Мбайт / с, а многопоточность может достигать 20 МБ / с. - djangofan


Ответы:


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


5
2018-05-05 00:02





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

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


4
2018-05-05 00:49



Знаете ли вы, что значение по умолчанию для этого параметра относится к Server 2003 или Server 2008? - Luke Quinane
В Server 2003 / XP значение Tcp1323Opts не существует по умолчанию, что означает, что он эффективно 0, я думаю. В Server 2008 / Vista я мог поклясться, что по умолчанию было по крайней мере 1, но сейчас я смотрю на одну из моих свежих машин, и ее нет. - Ryan Bolger


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

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

TreatHostAsStableStorage

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

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


AsynchronousCredits

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, а это означает, что никакое дополнительное критическое ядро   рабочие потоки добавляются к номеру по умолчанию. Это значение влияет на   количество потоков, используемых кешем файловой системы для чтения и   запросы на запись. Повышение этого значения может привести к увеличению количества очередей   I / O в подсистеме хранения и может улучшить производительность ввода / вывода,   особенно в системах со многими процессорами и мощным хранилищем   аппаратное обеспечение.

клиент

DisableBandwidthThrottling

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

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


3
2018-05-08 04:29





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


2
2018-05-05 03:00





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


2
2018-03-14 08:13





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

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

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

1
2018-03-02 15:36





Из TechNet:

MaxUserPort

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

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

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


0
2018-05-12 12:38



Кажется, он должен быть включен в ваш существующий ответ ... как редактирование. - HopelessN00b