smb bandwidth limit что это
Способы ограничения скорости копирования по сети в Windows
В этой статье мы рассмотрим способы ограничения скорости передачи данных по сети с/на Windows Server 2016 и Windows 10 с помощью встроенных и сторонних средств. Как известно, что по умолчанию, приложения Windows используют сетевой интерфейс по максимуму. Это может вызвать проблемы, когда определенная задача (чаще всего это общие сетевые папки) используют всю доступную пропускную способность сетевой карты. В это случае вы можете ограничить максимальную скорость копирования файлов из сетевой папки, и предоставить пользователям других приложения гарантированные ресурсы сетевой карты.
В этой инструкции мы рассмотрим:
Настройка групповой политики QoS в Windows
Вы можете управлять приоритетами трафика в Windows с помощью настроек групповой политики QoS. В этом сценарии я ограничу скорость передачи данных для всех исходящих соединений (политика будет применяться, в том числе, когда пользователи копируют файлы с вашего сервера). На основе данного примера вы сможете ограничить скорость для любого приложения, порта или сайта.
Групповые политики QoS поддерживается в:
В первую очередь настройки параметры сетевой карты и убедитесь, что у вас включена опция Qos Packet Scheduler.
Укажите имя политики, включите опцию Specify Outbound Throttle Rate и задайте ограничение скорости Throttle Rate. Это скорость в MBps/KBps (мегабайтах/килобайтах) до которой вы хотите ограничить исходящий трафик.
Вы можете указать к какому IP на вашем компьютере будет применяться политика. Это может понадобиться, если у вас есть несколько сетевых карт или IP алиасов;
Также вы можете указать целевой IP, с которым вы хотите ограничить скорость передачи;
Далее указывается протокол, к которому будет применяется политика (TCP, UDP или TCP and UDP). А также можете выбрать исходящий и целевой порт. Если вы не уверены по какому протоколу работает ваше приложение, которое вы хотите ограничить, выбирайте TCP and UDP. Если вы хотите ограничить скорость доступа к общим файлам в сетевой папке, укажите протокол TCP и 445 порт;
Настройка QoS политики в Windows завершена. Перезагружаться не надо, сразу после применения изменений скорость передачи по сети начнёт шейпиться. Обратите внимание, что Throttle Rate отображается редакторе политик в КилоБайтах, даже если вы выбрали значение 3 МБ.
Так как я выбрал все приложения и все порты, данная политика будет ограничивать максимальную скорость передачи файлов по сети до 3 Мб (в том числе при копировании файлов через File Explorer — explorer.exe).
Еще существуют Advanced QoS политики, которые доступны только в разделе конфигурации политик компьютера. Вы можете ограничить входящий TCP трафик на вкладке Inbound TCP Traffic. (Вкладка DSCP Marking Override относится к настройкам DSCP, её рассматривать мы не будем)
Как вы видите, имеются 4 уровня ограничения трафика. В следующей таблице указаны уровни и их скорости.
Inbound TCP throughput level | Максимальная скорость передачи |
0 | 64 Кб |
1 | 256 Кб |
2 | 1 Мб |
3 | 16 Мб |
Управление политиками QoS Windows средствами PowerShell
Для создания и управления политиками QoS можно использовать PowerShell. Например, чтобы создать политику QoS, ограничивающую пропускную способность для SMB (файлового) трафика, используйте команду:
Чтобы вывести список примененных политик QoS на компьютере, выполните команду:
Get-NetQosPolicy
Чтобы изменить, или удалить политику QoS, используются соответственно командлеты Set-NetQosPolicy и Remove-NetQosPolicy
Set-SmbBandwidthLimit: управление пропускной способностью для SMB трафика из PowerShell
Командлет Set-SmbBandwidthLimit позволяет ограничить скорость передачи данных по SMB протоколу. Сначала нужно установить компонент Windows Server SMB Bandwidth Limit с помощью PowerShell:
Обычно данный модуль применяется для ограничения скорости для Hyper-V Live Migration. Например, следующая команда ограничить скорость миграции виртуальных машин до 100 Мбайт/сек.
Компонент FS-SMBBW доступен начиная с Windows Server 2012 R2.
Ограничение скорости передачи файлов в Robocopy – ключ /IPG
При использовании robocopy вы также можете использовать специальный ключ, позволяющий ограничения скорости копирования/перемещения файлов по сети. Для этого используется ключ /ipg (Inter packet Gap). Этот ключ выставляет интервал между пакетами в миллисекундах и используется для снижения нагрузки на сеть при копировании по низкоскоростным каналам. Robocopy передает данные по сети блоками по 64 КБ, и таким образом, зная пропускную способность вашего канала, можно рассчитать нужное значение для /ipg, исходя из требований к ограничению скорости передачи.
Для копирования данных по медленным и нестабильным каналам также можно использовать протокол BITS. Этот протокол позволят динамически управлять скоростью передачи данных между двумя узлами в зависимости от занятости канала и поддерживает докачку.
Управление шейпингом трафика с помощью сторонних утилит
Из платных вариантов самым популярным решением для ограничения пропускной способности в Windows в зависимости от порта, приложения, назначения является программы NetLimiter, а из бесплатных TMeter Free.
Также можно отменить:
С задачей ограничения скорости передачи данных по сети отлично справляются QoS политики Windows, поэтому если перед вами стоит такая задача, то политики QoS должны быть рассмотрены в первую очередь. К тому же как и любые политики, они могут быть настроены на уровне всего домена через консоль gpmc.msc.
Стороннее ПО более функционально и имеет графический интерфейс, но в большинстве случаев это платные программы.
Регулирование скорости передачи файлов по сети в Windows 10
Наверняка вы хотите ограничить скорость передачи данных в локальной сети с помощью встроенных инструментов Windows 10, но не знаете, как это сделать. Вот и разберем, как ограничить максимальную скорость копирования файлов из общей сетевой папки, тем самым, предоставим гарантированные ресурсы сетевого адаптера для других приложений.
Настройка QoS в групповой политике
Можем управлять приоритетом трафика в Windows с помощью настроек QoS. Давайте ограничим скорость данных всех исходящих подключений. Это применимо, даже тогда, когда пользователи копируют файлы с вашего сервера. Используя этот маневр, сможем ограничить скорость для любого приложения, порта или хоста (сайта). Прежде чем начать, убедитесь, что Qos Packet Scheduler включена в сетевом адаптере.
Шаг 2. В новом окне придумайте любое имя и ниже в графе «Укажите частоту передачи«, задайте нужном вам скорость для ограничения. Также, уберите галочку с DSCP.
Шаг 3. В этом окне вы можете выбрать приложение, процесс или указать сайт. Я в этом примере выбрал ко всем приложениям.
Шаг 4. Если у вас несколько сетевых адаптеров, то можно указать IP-интерфейса на своем компьютере, к которому будет применяться данная политика. Также, можено установить IP-адрес назначения, чтобы ограничить для него скорость передачи.
Шаг 5. В этом коне можем выбрать протокол TCP, UDP к которому будет применяться политика. Также, можем выбрать порты назначения. Если не уверены, то выбирайте протокол TCP и UDP. Если желаете ограничить скорость доступа к общим файлам в папке SMB, то TCP и порт 445.
Всё! В итоге, я выбрал все приложения, порты, протоколы и политика ограничивает максимальную скорость передачи файлов по сети в 300 Кб\с.
Если вернуть в групповые политики и нажать правой кнопкой мыши по «QoS на основе политики«, то появятся дополнительные параметры, где мы сможем ограничить входящий TCP-трафик в самой первой вкладке. Выбрав нужные уровни пропускной способности. Ниже будет приведена максимальная скорость данных уровней:
Управление сетевыми политиками QoS через PowerShell
Для гурманов PowerShell разберем, как создать и управлять политикой QoS. Запускаем естественно PowerShell от имени администратора и:
1. Создать политику QoS, ограничивающую полосу пропускания для SMB в 10 Мбит/с
2. Отобразить список примененных политик QoS на компьютере
3. Для редактирования или удаления политики QoS используются Set-NetQosPolicy и Remove-NetQosPolicy
4. Настройка ограничения полосы пропускания SMB
Set-SmbBandwidthLimit позволяет ограничить скорость передачи файлов по протоколу SMB. Обычно это используется для настройки ограничения пропускной способности для динамической миграции Hyper-V. FS-SMBBW доступен в Windows Server 2012 R2 или выше.
Для начало нужно установить компонент Windows Server SMB Bandwidth Limit с помощью PowerShell:
Далее ограничим максимальную скорость миграции виртуальной машины 100 МБ/с:
Чтобы ограничить общий трафик передачи файлов по SMB:
Set-Smb Bandwidth Limit
Adds an SMB bandwidth cap.
Syntax
Description
The Set-SmbBandwidthLimit cmdlet adds a Server Message Block (SMB) bandwidth cap for the traffic categories that you specify. SMB bandwidth caps limit the amount of data that the server can send for each traffic category.
Examples
Example 1: Add an SMB limit
This command limits SMB traffic to 100 megabytes per second for traffic that is unrelated to Hyper-V over SMB or Live Migration.
Example 2: Add an SMB limit for live migration
This command limits SMB traffic to 1 gigabyte per second for Live Migration.
Parameters
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the maximum number of bytes per second that the server can send for the traffic categories that you specify. You can specify units after the number of bytes, such as KB, MB, and GB. You cannot specify a value smaller than 1MB (1048576 bytes) for this parameter.
Type: | UInt64 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies an array of categories of the SMB bandwidth limits to add. The acceptable values for this parameter are:
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.
Type: | CimSession [ ] |
Aliases: | Session |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShellВ® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.
Type: | Int32 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Способы ограничения скорости копирования по сети в Windows
В этой статье мы рассмотрим способы ограничения скорости передачи данных по сети с/на Windows Server 2016 и Windows 10 с помощью встроенных и сторонних средств. Как известно, что по умолчанию, приложения Windows используют сетевой интерфейс по максимуму. Это может вызвать проблемы, когда определенная задача (чаще всего это общие сетевые папки) используют всю доступную пропускную способность сетевой карты. В это случае вы можете ограничить максимальную скорость копирования файлов из сетевой папки, и предоставить пользователям других приложения гарантированные ресурсы сетевой карты.
Настройка групповой политики QoS в Windows
Вы можете управлять приоритетами трафика в Windows с помощью настроек групповой политики QoS. В этом сценарии я ограничу скорость передачи данных для всех исходящих соединений (политика будет применяться, в том числе, когда пользователи копируют файлы с вашего сервера). На основе данного примера вы сможете ограничить скорость для любого приложения, порта или сайта.
Групповые политики QoS поддерживается в:
В первую очередь настройки параметры сетевой карты и убедитесь, что у вас включена опция Qos Packet Scheduler.
Настройка QoS политики в Windows завершена. Перезагружаться не надо, сразу после применения изменений скорость передачи по сети начнёт шейпиться. Обратите внимание, что Throttle Rate отображается редакторе политик в КилоБайтах, даже если вы выбрали значение 3 МБ.
Так как я выбрал все приложения и все порты, данная политика будет ограничивать максимальную скорость передачи файлов по сети до 3 Мб (в том числе при копировании файлов через File Explorer — explorer.exe).
Еще существуют Advanced QoS политики, которые доступны только в разделе конфигурации политик компьютера. Вы можете ограничить входящий TCP трафик на вкладке Inbound TCP Traffic. (Вкладка DSCP Marking Override относится к настройкам DSCP, её рассматривать мы не будем)
Как вы видите, имеются 4 уровня ограничения трафика. В следующей таблице указаны уровни и их скорости.
Inbound TCP throughput level | Максимальная скорость передачи |
0 | 64 Кб |
1 | 256 Кб |
2 | 1 Мб |
3 | 16 Мб |
Управление политиками QoS Windows средствами PowerShell
Для создания и управления политиками QoS можно использовать PowerShell. Например, чтобы создать политику QoS, ограничивающую пропускную способность для SMB (файлового) трафика, используйте команду:
Чтобы вывести список примененных политик QoS на компьютере, выполните команду:
Get-NetQosPolicy
Set-SmbBandwidthLimit: управление пропускной способностью для SMB трафика из PowerShell
Командлет Set-SmbBandwidthLimit позволяет ограничить скорость передачи данных по SMB протоколу. Сначала нужно установить компонент Windows Server SMB Bandwidth Limit с помощью PowerShell:
Обычно данный модуль применяется для ограничения скорости для Hyper-V Live Migration. Например, следующая команда ограничить скорость миграции виртуальных машин до 100 Мбайт/сек.
Ограничение скорости передачи файлов в Robocopy – ключ /IPG
Если вы не хотите углубляться в формулы, то можете использовать уже готовый калькулятор Robocopy IPG Calclator: http://www.zeda.nl/index.php/en/robocopyipgcalculator-en-2
Управление шейпингом трафика с помощью сторонних утилит
Из платных вариантов самым популярным решением для ограничения пропускной способности в Windows в зависимости от порта, приложения, назначения является программы NetLimiter, а из бесплатных TMeter Free.
Также можно отменить:
С задачей ограничения скорости передачи данных по сети отлично справляются QoS политики Windows, поэтому если перед вами стоит такая задача, то политики QoS должны быть рассмотрены в первую очередь. К тому же как и любые политики, они могут быть настроены на уровне всего домена через консоль gpmc.msc.
Стороннее ПО более функционально и имеет графический интерфейс, но в большинстве случаев это платные программы.
И как я понял, Пош управляет только политиками созданными с помощью него же?!
Добрый день. Вы применяете политики к объектам компьютера или пользователя?
В статье есть рабочий пример.
Сразу отвечая на Ваш второй вопрос про PowerShell: тот командлет ограничивает скорость передачи по SMB, но в основном он применяется для ограничений лайв миграции Hyper-V
Да, совершенно верно. Через QoS политики ограничивается исходящий трафик. А через advanced можно частично ограничить входящий.
Да, всё верно. Думаю это вполне рабочий и правильный подход. На счёт можно ли через запятую — не уверен, под рукой документации нет.
Если сходу не получится, то поэкспериментируйте с параметрами политики, всё должно заработать.
Добрый день, подскажите а что за вкладка advanced как до нее можно добраться?, тоже получилось только сходящий трафик настроить
Реализовывал сие еще года два назад.
Шейпил CIFS на канале между локациями.
Потом убрали и реализовали на cisco.
На ПК задана политика для включения бранчкеша в режиме распределенного кеша. Т.к. ПК W10 Pro, то бренчкеш работает только для файлов полученным через http (WSUS + PS-скрипты). Поэтому в планах сделать ресурс с дистрибутивами доступным через IIS с включенным бранкешем.
В итоге будет в идеальном случае: файл в удаленный офис где находятся несколько ПК скачивается 1 раз, при скачивании используется ограничение по скорости в разные часы. Если соседний ПК будет качать такой же файл, то ему его отдаст ПК находящийся в этом офисе.
Настройка производительности файловых серверов SMB
Рекомендации по конфигурации SMB
Не включайте какие либо службы или компоненты, которые не требуются для файлового сервера и клиентов. К ним могут относиться подписывание SMB, кэширование на стороне клиента, Мини-фильтры файловой системы, служба поиска, запланированные задачи, шифрование NTFS, сжатие NTFS, IPSEC, фильтры брандмауэра, Teredo и шифрование SMB.
Убедитесь, что режимы управления питанием BIOS и операционной системы заданы по мере необходимости, что может включать режим высокой производительности или изменение состояния C. Убедитесь, что установлены последние, наиболее устойчивые и быстрые драйверы для хранения и сетевых устройств.
Настройка производительности SMB
Производительность файлового сервера и доступные настройки зависят от протокола SMB, согласованного между клиентом и сервером, а также с развернутыми компонентами файлового сервера. самая высокая версия протокола, доступная в настоящее время, — это SMB 3.1.1 в Windows Server 2022, Windows Server 2016 и Windows 10. вы можете проверить, какая версия SMB используется в вашей сети, используя Windows PowerShell get-смбконнектион на клиентах и get-смбсессион | FL на серверах.
Семейство протоколов SMB 3,0
smb 3,0 была введена в Windows Server 2012 и улучшена в Windows Server 2012 R2 (smb 3,02) и Windows Server 2016 (smb 3.1.1). В этой версии появились технологии, которые могут значительно повысить производительность и доступность файлового сервера. дополнительные сведения см. в разделе smb in Windows Server 2012 and 2012 R2 2012 и новые возможности smb 3.1.1.
SMB Direct
В SMB Direct появилась возможность использования сетевых интерфейсов RDMA для высокой пропускной способности с низкой задержкой и низкой загрузкой ЦП.
Когда SMB обнаруживает сеть с поддержкой RDMA, она автоматически пытается использовать возможность RDMA. Однако если по какой-либо причине клиенту SMB не удается подключиться с помощью пути RDMA, будет просто продолжать использовать TCP/IP-соединения. Все интерфейсы RDMA, совместимые с SMB Direct, должны также реализовать стек TCP/IP, и многоканальный протокол SMB знает об этом.
SMB Direct не требуется в какой-либо конфигурации SMB, но рекомендуется всегда для тех, кто хочет снизить задержку и снизить загрузку ЦП.
Технология SMB Multichannel
Многоканальный протокол SMB позволяет файловым серверам одновременно использовать несколько сетевых подключений и обеспечивает повышенную пропускную способность.
Дополнительные сведения о многоканальном SMB см. в статье развертывание многоканальногоSMB.
Scale-Out SMB
При горизонтальном масштабировании SMB 3,0 в конфигурации кластера обеспечивает отображение общего ресурса на всех узлах кластера. Эта конфигурация «активный/активный» позволяет дополнительно масштабировать кластеры файловых серверов без сложной конфигурации с несколькими томами, общими ресурсами и кластерами. Максимальная пропускная способность общего доступа — это общая пропускная способность всех узлов кластера файлового сервера. Общая пропускная способность больше не ограничивается пропускной способностью отдельного узла кластера, а зависит от возможности резервной системы хранения. Увеличить общую пропускную способность можно путем добавления узлов.
Счетчики производительности для SMB 3,0
следующие счетчики производительности SMB появились в Windows Server 2012 и считаются базовым набором счетчиков при мониторинге использования ресурсов SMB 2 и более поздних версий. Запись счетчиков производительности в локальный, необработанный (BLG) журнал счетчиков производительности. Получение всех экземпляров с помощью подстановочного знака (*) менее затратно, а затем извлечение определенных экземпляров во время последующей обработки с помощью Relog.exe.
Общие ресурсы SMB Client
Эти счетчики отображают сведения о общих файловых ресурсах на сервере, к которому обращается клиент, использующий протокол SMB 2,0 или более поздней версии.
если вы уже знакомы с обычными счетчиками дисков в Windows, вы можете заметить определенное сходство. Это не случайно. Счетчики производительности «клиентские ресурсы SMB» рассчитаны на точное соответствие счетчиков дисков. Таким образом вы можете легко повторно использовать любые рекомендации по настройке производительности диска приложений в настоящее время. Дополнительные сведения о сопоставлении счетчиков см. в блоге по счетчикам производительности клиента для общего ресурса.
Общие серверные ресурсы SMB
Эти счетчики отображают сведения о файловых ресурсах SMB 2,0 или более поздней версии на сервере.
Сеансы SMB Server
Эти счетчики отображают сведения о сеансах SMB Server, использующих SMB 2,0 или более поздней версии.
Включение счетчиков на стороне сервера (общие серверные ресурсы или сеансы сервера) может оказать значительное влияние на производительность для рабочих нагрузок с большими объемами операций ввода-вывода.
Фильтр ключей возобновления
Эти счетчики отображают сведения о фильтре ключа возобновления.
Подключение SMB Direct
Эти счетчики измеряют различные аспекты активности подключения. Компьютер может иметь несколько подключений SMB Direct. Счетчики прямого подключения SMB представляют каждое соединение как пару IP-адресов и портов, где первый IP-адрес и порт представляют локальную конечную точку подключения, а второй IP-адрес и порт — удаленную конечную точку подключения.
Связи счетчиков производительности «физический диск», «SMB» и «CSV FS»
Дополнительные сведения о том, как связаны счетчики физического диска, SMB и CSV (файловая система), см. в следующей записи блога: общий том кластера счетчики производительности.
Параметры настройки для файловых серверов SMB
Следующие REG_DWORD параметры реестра могут повлиять на производительность файловых серверов SMB.
Smb2CreditsMin и Smb2CreditsMax
Значения по умолчанию: 512 и 8192 соответственно. Эти параметры позволяют серверу динамически регулировать параллелизм операций клиента в указанных границах. Некоторые клиенты могут повысить пропускную способность с более высокими ограничениями параллелизма, например, скопировав файлы по каналам с высокой пропускной способностью и большим временем задержки.