Я устраняю проблему, которая наблюдается на всех наших серверах 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
возвращается в нужное время (почти мгновенно)
Кто-нибудь еще видел подобное поведение? Есть ли способ углубиться в логи, чтобы узнать, что происходит?
Когда вы пытаетесь добавить функцию, первое, что делает ОС, - это копается в существующих и их зависимостях. Таким образом, чем больше вы добавили ранее, тем больше потребуется ОС, чтобы определить все, что установлено.