В этой статье мы рассмотрим способы ограничения скорости передачи данных по сети с/на Windows Server 2016 и Windows 10 с помощью встроенных и сторонних средств. Как известно, что по умолчанию, приложения 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 можно использовать PowerShell. Например, чтобы создать политику QoS, ограничивающую пропускную способность для SMB (файлового) трафика, используйте команду:
New-NetQosPolicy -Name "SMBRestrictFileCopySpeed" -SMB -ThrottleRateActionBitsPerSecond 10MB
Name : SMBRestrictFileCopySpeed_x000D_Owner : Group Policy (Machine)_x000D_ NetworkProfile : All_x000D_Precedence : 127_x000D_Template : SMB_x000D_JobObject :_x000D_ThrottleRate : 10.486 MBits/sec_x000D_
Чтобы вывести список примененных политик QoS на компьютере, выполните команду:
Get-NetQosPolicy
Чтобы изменить, или удалить политику QoS, используются соответственно командлеты Set-NetQosPolicy
и Remove-NetQosPolicy
.
Remove-NetQosPolicy -Name SMBRestrictFileCopySpeed
Командлет Set-SmbBandwidthLimit позволяет ограничить скорость передачи данных по SMB протоколу. Сначала нужно установить компонент Windows Server SMB Bandwidth Limit с помощью PowerShell:
Add-WindowsFeature -Name FS-SMBBW
Или можно установить его из графического Server Manager (Add Windows Feature -> SMB Bandwidth Limit).
Обычно данный модуль применяется для ограничения скорости для Hyper-V Live Migration . Например, следующая команда ограничить скорость миграции виртуальных машин до 100 Мбайт/сек.
Set-SmbBandwidthLimit -Category LiveMigration -BytesPerSecond 100MB
Вы также можете указать -Category Default для ограничения обычного трафика для передачи файлов по протоколу SMB.
Set-SmbBandwidthLimit -Category Default -BytesPerSecond 10MB
При использовании robocopy вы также можете использовать специальный ключ, позволяющий ограничения скорости копирования/перемещения файлов по сети. Для этого используется ключ /ipg (Inter packet Gap). Этот ключ выставляет интервал между пакетами в миллисекундах и используется для снижения нагрузки на сеть при копировании по низкоскоростным каналам. Robocopy передает данные по сети блоками по 64 КБ, и таким образом, зная пропускную способность вашего канала, можно рассчитать нужное значение для /ipg
, исходя из требований к ограничению скорости передачи.
Если вы не хотите углубляться в формулы, то можете использовать уже готовый калькулятор Robocopy IPG Calclator: http://www.zeda.nl/index.php/en/robocopyipgcalculator-en-2
Из платных вариантов самым популярным решением для ограничения пропускной способности в Windows в зависимости от порта, приложения, назначения является программы NetLimiter , а из бесплатных TMeter Free.
Также можно отменить:
С задачей ограничения скорости передачи данных по сети отлично справляются QoS политики Windows, поэтому если перед вами стоит такая задача, то политики QoS должны быть рассмотрены в первую очередь. К тому же как и любые политики, они могут быть настроены на уровне всего домена через консоль gpmc.msc.
Стороннее ПО более функционально и имеет графический интерфейс, но в большинстве случаев это платные программы.
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…