telegram
🪟windows

Регулирование скорости передачи файлов по сети в Windows 10

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

Настройка QoS в групповой политике

Можем управлять приоритетом трафика в Windows с помощью настроек QoS. Давайте ограничим скорость данных всех исходящих подключений. Это применимо, даже тогда, когда пользователи копируют файлы с вашего сервера. Используя этот маневр, сможем ограничить скорость для любого приложения, порта или хоста (сайта). Прежде чем начать, убедитесь, что Qos Packet Scheduler включена в сетевом адаптере.

Qos Packet Scheduler

Шаг 1. Нажмите Win+R и введите gpedit.msc, чтобы открыть редактор групповых политик. Перейдите по параметрам "Конфигурация компьютера" > "Конфигурация Windows" > "QoS на основе политики". Нажмите правой кнопкой мыши по QoS на основе политики и выберите "Создать новую политику".

новая политика QoS

Шаг 2. В новом окне придумайте любое имя и ниже в графе "Укажите частоту передачи", задайте нужном вам скорость для ограничения. Также, уберите галочку с DSCP.

qos частота передачи

Шаг 3. В этом окне вы можете выбрать приложение, процесс или указать сайт. Я в этом примере выбрал ко всем приложениям.

к чему применять Qos ограничения скорости

Шаг 4. Если у вас несколько сетевых адаптеров, то можно указать IP-интерфейса на своем компьютере, к которому будет применяться данная политика. Также, можено установить IP-адрес назначения, чтобы ограничить для него скорость передачи.

IP адреса назначения Qos

Шаг 5. В этом коне можем выбрать протокол TCP, UDP к которому будет применяться политика. Также, можем выбрать порты назначения. Если не уверены, то выбирайте протокол TCP и UDP. Если желаете ограничить скорость доступа к общим файлам в папке SMB, то TCP и порт 445.

Всё! В итоге, я выбрал все приложения, порты, протоколы и политика ограничивает максимальную скорость передачи файлов по сети в 300 Кб\с.

протоколы и порты Qos

Если вернуть в групповые политики и нажать правой кнопкой мыши по "QoS на основе политики", то появятся дополнительные параметры, где мы сможем ограничить входящий TCP-трафик в самой первой вкладке. Выбрав нужные уровни пропускной способности. Ниже будет приведена максимальная скорость данных уровней:

  1. 64 КБ
  2. 256 КБ
  3. 1 МБ
  4. 16 МБ

дополнительные параметры Qos

Управление сетевыми политиками QoS через PowerShell

Для гурманов PowerShell разберем, как создать и управлять политикой QoS. Запускаем естественно PowerShell от имени администратора и:

1. Создать политику QoS, ограничивающую полосу пропускания для SMB в 10 Мбит/с

New-NetQosPolicy -Name "SMBRestrictFileCopySpeed" -SMB -ThrottleRateActionBitsPerSecond 10MB

Создать политику QoS, ограничивающую полосу пропускания для SMB

2. Отобразить список примененных политик QoS на компьютере

Get-NetQosPolicy

Отобразить список примененных политик QoS на компьютере

3. Для редактирования или удаления политики QoS используются Set-NetQosPolicy и Remove-NetQosPolicy

Remove-NetQosPolicy -Name SMBRestrictFileCopySpeed

редактирование и удаление политики QoS

4. Настройка ограничения полосы пропускания SMB

Set-SmbBandwidthLimit позволяет ограничить скорость передачи файлов по протоколу SMB. Обычно это используется для настройки ограничения пропускной способности для динамической миграции Hyper-V. FS-SMBBW доступен в Windows Server 2012 R2 или выше.

Для начало нужно установить компонент Windows Server SMB Bandwidth Limit с помощью PowerShell:

Add-WindowsFeature -Name FS-SMBBW

Далее ограничим максимальную скорость миграции виртуальной машины 100 МБ/с:

Set-SmbBandwidthLimit -Category LiveMigration -BytesPerSecond 100MB

Чтобы ограничить общий трафик передачи файлов по SMB:

Set-SmbBandwidthLimit -Category Default -BytesPerSecond 10MB