WSUS数据库使用大量内存,如何优化

所以我在2012R2系统上安装了一个新的WSUS实例。 WSUS服务器将总计服务大约350个系统(服务器+台式机+笔记本电脑)。 它运行在Hyper-V虚拟机上,目前我已经分配了10GB的内存,但在不到一天的时间内,Windows内部数据库的使用量就猛增到6GB左右。

这个价值对我来说似乎过分了。 如果你search谷歌,你可以find大量关于如何限制 Windows内部数据库的内存的文章。 但是,我发现的文章几乎没有提供任何理由为什么select一个特定的内存价值,这似乎是在256MB-4GB之间取决于文章的作者。

WSUS的内存使用情况是否正常? 2012年2月,我没有find任何有关WSUS的官方微软大小build议,尽pipe老版本的文档显示1GB应该足够用于less于500台计算机。

所以我的问题是

  • 有没有更新位置微软已经发布服务器调整WSUS的规格,我没有find?
  • 如果我要为内部数据库设置一个内存限制,应该使用什么方法来select正确的值? 是否有一些公式,或者我可以看一些性能指标来设置一个有用的限制?
  • 我只需要不断增加更多的内存,直到WSUS停止使用它们全部?
  • 还有什么我应该做的,而不是让WSUS使用更less的资源?

如果我要为内部数据库设置一个内存限制,应该使用什么方法来select正确的值? 是否有一些公式,或者我可以看一些性能指标来设置一个有用的限制?

Windows内部数据库是MS SQL Server的一个function受限的实例,所以只要数据库大小足够大,它就会最终消耗所有服务器的内存 。 如果要获得最佳的数据库性能,通常的MSSQL数据库调整build议适用于此处。 尽pipe使用WSUS,数据库性能本身并不重要,您还必须确保有足够的RAM用于WSUS的IIS应用程序池以及文件系统caching。

就个人而言,我不打算评估SQL Server的索引页增长率或性能指标,而只是将WID限制为2 GB的RAM使用率,并且只有在监视会引起磁盘利用率过高的警报时才增加此值。 WSUS客户端对更长的响应时间不太敏感,所以只要机器没有严重超载并且客户端请求超时,WSD客户端就可以正常运行。

我只需要不断增加更多的内存,直到WSUS停止使用它们全部?

这可能会消耗相当多的资源,因为WSUS数据库会随着时间而增长。 服务器2008 R2上的WSUS 3.0实例我pipe理的是启用了一些常见的产品和两种语言。 它为大约1,100个客户提供服务,并且在运行两年后拥有15 GB的数据库大小。

还有什么我应该做的,而不是让WSUS使用更less的资源?

如果IIS进程本身占用太多资源并与文件系统caching竞争,则可能需要查看WSUS'IIS应用程序池的应用程序caching和垃圾收集设置 。 除此之外,如果你给它> 6 GB的内存并限制WID内存大小,那么WSUS应该是大多数情况下会被忽略的。

有没有更新位置微软已经发布服务器调整WSUS的规格,我没有find?

可能,但我也没有find他们。

我已经看到了泄漏和大小限制的变化,但是我知道WSUS的问题很less是内存使用情况或CPU。 如果你有客户端从服务器拉,那么存储和networking似乎是大的因素。 像BITS对等caching或下游WSUS服务器的东西将有所帮助。 所有人都说,我会根据这个TechNet文章 (已经链接到)4来设置大小调整的要求,因为它是2015年,正常的IT“通货膨胀”似乎也适用于此。

为了参考起见,我已经看了两个不同的WSUS部署,第一个是小型的,4个服务器,30个客户端,它使用的是1GB左右。 另一个部署是使用SCCM和WSUS,稍微有点不同,有400个服务器和2500个客户端,它使用8GB的RAM。