Управление пропускной способностью сетевого интерфейса в Windows
Метки: powershell | Windows | администрирование | администрирование Windows
Вторник, 22 апреля 2014 г.
Просмотров: 8799
Подписаться на комментарии по RSS
По умолчанию процессы Windows используют сетевой интерфейс по максимуму. Это отличная идея когда выполняется какая то одна задача, но очень часто сервер выполняет разные задачи и необходимо исключить ситуацию при которой одна задача отбирает ресурсы у другой.
В качестве примера можно привести сервер с размещенным веб-сайтом и также работающий как файл сервер. Когда файлы не копируются с сервера веб-сайт работает отлично. Однако когда кто-либо начинает процесс копирования, быстродействие веб-сервера немедленно падает.
Давайте посмотрим на график скачивания файла.
В моей сети сейчас файл копируется на скорости приблизительно 40MB/s
Для решения поставленной задачи мы можем использовать встроенные средства, в частности Windows QOS Packet Scheduler. Данный функционал позволяет нам приоритизировать и лимитировать трафик, гарантирую что одни процесс не будет потреблять все доступные ресурсы.
Функциональностью QOS можно управлять как с помощью групповых политик, так и через PowerShell
Шаг 1 - Проверка существующих политик
Для начала проверим имеются ли уже какие-либо политики, которые могут конфликтовать или переопределить нашу политику
Get-NetQosPolicy
Шаг 2 - Создание новой политики
Далее мы создаем новую политику, которая будет применяться к SMB трафику и лимитировать его до 22MB/s.
New-NetQosPolicy -Name "FileCopy" -SMB -ThrottleRateActionBitsPerSecond 2MB
На этом этапе мы уже можем начать процесс копирования и увидим, что загрузку интерфейса идет в указанном нами значении.
Шаг 3 - Модификация существующей политики
Одной из замечательных особенностей политик QOS является их почти мгновенное применение без необходимости перезагрузки. Изменим лимит
Set-NetQosPolicy -Name "FileCopy" -ThrottleRateActionBitsPerSecond 10MB

Вы можете увидеть как меняется скорость копирования при смене политики.
Шаг 4 - Удаление политики
В случае необходимости можно удалить политику просто выполнив соответствующий командлет
Remove-NetQosPolicy -Name "FileCopy"
И не забудьте проверить успешность выполнения:
Get-NetQosPolicy
Заключение
Единственным ограничением, о котором нужно знать и не забывать является то, что QOS применяется только к ИСХОДЯЩЕМУ трафику. Любое копирование файлов НА сервер по прежнему будет потреблять сетевой интерфейс в полном объеме.
Полезная информация
Недавно нашей компании понадобилось разработать достаточно сложное мобильное приложение. Мы обратились в компанию Quantron Systems и результатом их работы остались очень довольны. Разработка была выполнена быстро и качественно.
Еще записи по теме
- RDP через SSH порт 443
- Использование BGInfo для создания базы данных информации о системах в вашей сети
- Распространение беспроводных настроек с помощью netsh и групповых политик
- Таблица MAC адресов популярных платформ виртуализации
- Управлением беспроводными сетями в Windows7 и Vista с помощью GPO
- HoverIP – GUI для ipconfig, nslookup, таблицы маршрутизации, ping, traceroute, сканирования портов
- Ifconfig: 7 примеров использования
Комментариев: 1
Не работает на Win 2012 R2. Все равно копирует на полную мощь.