В сетях, где преобладают устройства с Windows на борту, для управления обновлениями и развёртывания ПО зачастую используют WSUS (Windows Server Update Services) и/или SCCM (System Center Configuration Manager, который ранее был известен как SMS — Systems Management Server). Сегодня поговорим о том, как ограничить «аппетиты» данных сервисов, чтобы они не забивали каналы с небольшой пропускной способностью в момент массовой раздачи обновлений.
И WSUS, и SCCM используют в своей работе веб-сервер IIS (Internet Information Services), так что решение будет общим.
Открываем Диспетчер служб IIS (англ. Internet Information Services (IIS) Manager) в Панели управления (Control Panel), раздел Администрирование (Administrative Tools).
Заходим в Редактор конфигураций (англ. Configuration Editor).
Там ищем раздел system.applicationHost/webLimits.
Нас интересует параметр maxGlobalBandwidth. По умолчанию его значение 4294967295. Иными словами, по умолчанию сервер готов раздавать обновления со скоростью 32 Гбит/с.
Для ограничения скорости раздачи нам нужно ввести своё значение в байтах. 1 Мбит/с будет (1024 × 1024)/8 = 131072. Соответственно, это число нужно умножить на то значение, сколько Мбит/с вы хотите выделить серверу. Примеры ниже.
Скорость | Значение параметра |
1 Мбит/с | 131072 |
5 Мбит/с | 655360 |
10 Мбит/с | 1310720 |
20 Мбит/с | 2621440 |
50 Мбит/с | 6553600 |
Не забудьте нажать кнопку Применить для сохранения изменений и дождаться появления сообщения, что изменения успешно сохранены.
Альтернативой настройке через графический интерфейс может выступать использование командной строки. Ту же самую операцию, что мы выполнили до этого, можно выполнить через AppCmd.exe.
Переходим в каталог с AppCmd.exe:
cd /d %windir%\system32\inetsrv\
Смотрим текущие значения параметров:
appcmd.exe list config /section:webLimits /config:*
В ответ нам выйдут значения параметров, среди которых ищем maxGlobalBandwidth и смотрим чему он равен.
Устанавливаем новое значение maxGlobalBandwidth:
appcmd.exe set config -section:system.applicationHost/webLimits /maxGlobalBandwidth:"131072" /commit:apphost
В случае успеха вы должны увидеть сообщение Изменения конфигурации применены к разделу «system.applicationHost/webLimits» для «MACHINE/WEBROOT/APPHOST» на пути применения конфигурации «MACHINE/WEBROOT/APPHOST» (в английской версии Applied configuration changes to section «system.applicationHost/webLimits» for «MACHINE/WEBROOT/APPHOST» at configuration commit path «MACHINE/WEBROOT/APPHOST»). Впрочем, скриншот ниже будет нагляднее.
Итак, мы с вами ограничили «прожорливость» WSUS и SCCM. В случае необходимости вы всегда можете ввести новое значение параметра maxGlobalBandwidth или даже создать задачу в планировщике заданий, которая будет запускать вышеописанную команду изменения значений. Таким образом можно варьировать скорость раздачи обновлений в зависимости от времени суток.
Статьи по теме: