Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell

Обновлено 19.11.2018

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-01

Всем привет сегодня хочу рассказать как производится управление пропускной способностью сетевого интерфейса в Windows. Предположим у вас есть сервер на котором крутится сайтик или какое то приложение доступное по сети, и на этом же сервере в целях экономии у вас например файловая шара и WDS сервер, по умолчанию все процессы имеют одинаковый приоритет, и если кто то начинает хорошо кушать канал, то все другие проседают. С приходом Power Shell 3 версии, появились командлеты которые помогут ограничить отдачу сетевой карты на каждый процесс, ровно столько сколько зададите.

Хочу отметить что работает это только на исходящем трафике

В моем примере у нас есть файловая щара по протоколу SMB и компьютер куда мы скачиваем контент

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-02

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-02

Начинаем закачку, видим что скорость копирования 120 мб в секунду, довольно неплохо, кушается весь гигабитный канал

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-03

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-03

Для решения поставленной задачи мы можем использовать встроенные средства, в частности Windows QOS Packet Scheduler.  Данный функционал позволяет нам приоритизировать и лимитировать трафик, гарантирую что одни процесс не будет потреблять все доступные ресурсы.

Для начала проверим имеются ли уже какие-либо политики, которые могут конфликтовать или переопределить нашу политику

Get-NetQosPolicy

Далее мы создаем новую политику, которая будет применяться к SMB трафику и лимитировать его до 10MB/s

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

Проверим приминилось ли правило командой

Get-NetQosPolicy

Видим, что правило появилось и действует.

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-05

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-05

Видим скорость копирования упала до 10 мб в секунду.

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-04

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-04

Чтобы поменять текущую политику воспользуемся командой

Set-NetQosPolicy -Name "FileCopy" -ThrottleRateActionBitsPerSecond 20MB

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

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-06

Как ограничить пропускную способность сетевой карты в Windows Server 2012 R2 средствами Power Shell-06

Для того чтобы удалить политику воспользуемся вот такой командой

Remove-NetQosPolicy -Name "FileCopy"

Вот такая вот встроенная и полезная функция Windows для управление и ограничения отдачи вашей сетевой карты.

Описание для все видов трафика

https://technet.microsoft.com/ru-ru/library/hh967468%28v=wps.630%29.aspx?f=255&MSPPError=-2147217396

Материал сайта pyatilistnik.org

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *