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

QoS на основе политик Windows Server 2012

Я пытаюсь реализовать QoS на основе политик на виртуальной машине Windows Server 2012 (работающей на Hyper-V), но по какой-то причине это не срабатывает. Я добавил политику, войдя в редактор локальной групповой политики ==> Параметры Windows ==> QoS на основе политик и добавлена ​​новая политика для конкретного exe (не использовался путь, только имя exe), значение DSCP равно 0, а скорость дросселирования 40960 в качестве начала.

Когда я запустил рассматриваемый exe, он быстро начал достигать исходящей скорости 100 МБ / с и выше, чего не должно было быть. Я пытался сделать gpupdate /force на сервер, но это тоже ничего не изменило. Наконец, я изменил политику QoS на любое приложение, TCP / UDP и скорость дросселирования 40960, но это по-прежнему не дросселирует для меня - он все еще работает на севере от 100 МБ / с, что коррелирует с довольно большим колокацией. законопроект.

Любые идеи о том, как я могу ограничить скорость этого exe? Я не могу использовать для этого наш маршрутизатор, так как я не знаю IP-адреса назначения для этого исходящего трафика - он просто использует DNS для Azure, и если бы они изменили IP-адрес, мне не повезло.

Редактировать: Я нашел сообщение SF (здесь: Как я могу ограничить пропускную способность пользователей в Windows Server 2008 R2), который упомянул утилиту NetLimiter 4 и дал ей шанс, но также, похоже, не ограничивал ни того, ни другого, поскольку моя пропускная способность все еще увеличивалась до уровня более 90 МБ / с.

Я думаю, вы неправильно понимаете, как работает QoS.

Допустим, у вас есть два приложения, запущенных на сервере (приложение A и приложение B), и одно из них увеличивает пропускную способность. Вы решаете, что хотите, чтобы приложение A получило большую пропускную способность.

В этом случае вы должны определить две политики (скажем, используя имя exe), вы даете приложению A значение DSCP 10 и приложение B 5. Вы назначаете значение дроссельной заслонки 10 МБ / с для приложения A и 5 МБ / с для приложения. Б.

Важный бит Когда приложение A работает само по себе, оно не будет ограничено 10 МБ / с, а когда приложение B работает само по себе, оно не будет ограничено 5 МБ / с. Ограничение дроссельной заслонки будет эффективным только тогда, когда они работают вместе и есть конкуренция за полосу пропускания.

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

Взгляните на статью Вот для получения дополнительной информации, но часть, относящаяся к вышеизложенному, это

Когда вы назначаете значение DSCP политике QoS, вы, по сути, создаете очередь для исходящего сетевого трафика. По умолчанию трафик, проходящий через очередь, не регулируется. QoS ограничивает трафик только тогда, когда конкуренция за полосу пропускания становится проблемой. В таких ситуациях очереди с более низким приоритетом уступают место очередям с более высоким приоритетом.

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

Вы можете посмотреть параметры пропускной способности / qos в конфигурации виртуальной машины в диспетчере Hyper-v для настоящего контроля пропускной способности.

Использование powershell на Win Server 2012 R2 сработало для меня, была задержка около 5 минут, чтобы политика приняла новое значение, но сработала.

Я запускаю psping в режиме полосы пропускания в качестве сервера на одном компьютере и устанавливаю политику на порте 444, чтобы регулировать скорость 10 Мбит / с, порт 443 остается незатронутым

PS C:\windows\system32> New-NetQosPolicy -Name "Port444" -IPPort 444 -ThrottleRateActionBitsPerSecond 10Mb
Name           : Port444
Owner          : Group Policy (Machine)
NetworkProfile : All
Precedence     : 127
IPProtocol     : Both
IPPort         : 444
ThrottleRate   : 10.486 MBits/sec

С другой машины, вот разница между полосой пропускания портов 443 и 444:

PS D:\Common\Sysinternals> .\psping.exe -b -l 1K -n 10s -r -4  10.10.10.10:443

PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Setting warmup count to match number of outstanding I/Os: 16
TCP bandwidth test connecting to 10.10.10.10:443: Connected
10 seconds (16 warmup ops) receiving 1024 bytes TCP bandwidth test: 205087100%

TCP receiver bandwidth statistics:
  Received = 10, Size = 1024, Total Bytes: 1175108608,
  Minimum = 101.67 MB/s, Maximum = 113.49 MB/s, Average = ***112.05 MB/s***



PS D:\Common\Sysinternals> .\psping.exe -b -l 1K -n 10s -r -4  10.10.10.10:444

PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Setting warmup count to match number of outstanding I/Os: 16
TCP bandwidth test connecting to 10.10.10.10:444: Connected
10 seconds (16 warmup ops) receiving 1024 bytes TCP bandwidth test: 1850664100%

TCP receiver bandwidth statistics:
  Received = 10, Size = 1024, Total Bytes: 13563904,
  Minimum = 1.01 MB/s, Maximum = 1.47 MB/s, Average = ***1.24 MB/s***

Я много лет работал с QoS в мире сетей. Я не работал с ним в Microsoft Windows Server (любой версии), но думаю, что концепции такие же. Качество обслуживания предназначено для управления пропускной способностью. Вы можете отдавать предпочтение определенным типам трафика по сравнению с другими типами (голос и видео при просмотре веб-страниц) при перегрузке, но вы хотите контролировать / формировать трафик. С помощью политики вы устанавливаете максимальную пропускную способность, и все, что выше, отбрасывается. При формировании избыточный трафик ставится в очередь и передается позже, при этом не превышается предел пропускной способности.

https://technet.microsoft.com/en-us/library/hh831679.aspx#bkmk_bandwidth

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

Я не могу сказать, предназначена ли функция Microsoft Maximum Bandwidth для использования политик или формирования, но многословие в этой статье TechNet заставляет меня думать, что то, что вы хотите сделать, возможно. Однако я не могу заставить его работать на моем ПК с Windows 10. : /

Обновление 23.10.15 Я нашел статью, в которой подробно описан процесс, который вы хотите реализовать (дорожная полиция - один исполняемый файл), но я пробовал это на Server 2008 и Windows 10, но безрезультатно, даже после нескольких перезапусков. У других, похоже, это работало, за исключением последнего комментатора в этой ветке, так что это должно сработать ... https://practicalsbs.wordpress.com/2014/08/05/onedrive-throttling-upload-speed/