添加的功能越多,添加到 Windows Server 的速度就越慢

Mar*_*son 6 powershell windows-server-2016

我正在解决我们在所有 Windows Server 2016 服务器中看到的问题。我们向操作系统添加的功能越多,添加的功能就越慢。

例如,Add-WindowsFeature -Name NET-Framework-Core当我没有添加任何其他功能时执行,它以正常速度运行。

但是,在我添加了几十个功能(通常是 Web 服务器)之后,例如执行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
Run Code Online (Sandbox Code Playgroud)

最后两行一遍又一遍地重复。

通过 GUI 执行此操作没有区别 - 它同样慢。最终安装该功能后,Get-WindowsFeature在适当的时间内返回(几乎立即)

有没有其他人看到过这样的行为?有没有办法深入研究日志以找出发生了什么?

Ove*_*ind -1

当您尝试添加功能时,操作系统所做的第一件事就是挖掘现有功能及其依赖项。因此,您之前添加的内容越多,操作系统就越需要花费更多的时间来确定所有已安装的内容。