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

Добавление функций в Windows Server становится медленнее, чем больше функций вы добавляете

Я устраняю проблему, которая наблюдается на всех наших серверах Windows Server 2016. Чем больше функций мы добавляем в операционную систему, тем медленнее добавляются функции.

Например, выполнить Add-WindowsFeature -Name NET-Framework-Core когда я не добавил никаких других функций, он работает в обычном темпе.

Однако после того, как я добавил несколько десятков функций (обычно веб-сервер), например, выполняя Add-WindowsFeature -Name Web-CGI берет более 10 минут. Как вы понимаете, это делает запуск нового сервера чрезвычайно медленным, так как на каждую машину добавляется около 60 функций.

Выполнение команды с -LogFile дает бесполезный журнал, который выглядит примерно так:

5756: 2017-12-19 19:40:57.545 [ServerManagerPS]           Complete initializing log file.
5756: 2017-12-19 19:40:58.199 [ServerManagerPS]           45d625fe-30ef-4636-a79f-5ed8b9546d68 Enumerate server component ended with Success.
5756: 2017-12-19 19:41:03.268 [ServerManagerPS]           45d625fe-30ef-4636-a79f-5ed8b9546d68 Alter server component started. Component names: Web-CGI
5756: 2017-12-19 19:41:03.286 [ServerManagerPS]           45d625fe-30ef-4636-a79f-5ed8b9546d68 Alter server component ended with InProgress. The progress is 20
5756: 2017-12-19 19:41:04.295 [ServerManagerPS]           45d625fe-30ef-4636-a79f-5ed8b9546d68 Alter server component started. Component names: Web-CGI
5756: 2017-12-19 19:41:04.314 [ServerManagerPS]           45d625fe-30ef-4636-a79f-5ed8b9546d68 Get alteration state ended with InProgress. The progress is 24.
5756: 2017-12-19 19:41:05.324 [ServerManagerPS]           45d625fe-30ef-4636-a79f-5ed8b9546d68 Alter server component started. Component names: Web-CGI

Последние две строки повторяются снова и снова.

Выполнение этой операции через графический интерфейс не имеет значения - это так же медленно. Как только функция будет установлена, Get-WindowsFeature возвращается в нужное время (почти мгновенно)

Кто-нибудь еще видел подобное поведение? Есть ли способ углубиться в логи, чтобы узнать, что происходит?

Когда вы пытаетесь добавить функцию, первое, что делает ОС, - это копается в существующих и их зависимостях. Таким образом, чем больше вы добавили ранее, тем больше потребуется ОС, чтобы определить все, что установлено.