我正在排除所有 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
最后两句歌词一遍又一遍地重复。
通过 GUI 执行此操作没有任何区别 - 速度一样慢。一旦最终安装了该功能,Get-WindowsFeature
就会在适当的时间内返回(几乎立即返回)
还有人见过这样的行为吗?有没有办法深入研究日志以找出发生了什么?
答案1
当您尝试添加功能时,操作系统所做的第一件事就是挖掘现有功能及其依赖项。因此,您之前添加的功能越多,操作系统确定所有已安装的功能所需的时间就越长。