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

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

因此,我在 2012R2 系统上安装了新的 WSUS 实例。WSUS 服务器将为总共约 350 个系统(服务器 + 台式机 + 笔记本电脑)提供服务。它在 Hyper-V VM 中运行,我目前已为其分配了 10GB 内存,但不到一天,Windows 内部数据库的使用量就猛增至约 6GB。

这个值对我来说似乎太高了。如果你在谷歌上搜索,你可以找到大量关于如何限制内存用于 Windows 内部数据库。但是我发现几乎没有一篇文章能够解释为什么选择特定的内存值,该值似乎介于 256MB 到 4GB 之间,具体取决于文章的作者。

WSUS 的内存使用量是否正常?我没有找到任何官方的 Microsoft 针对 2012r2 版 WSUS 的大小建议,不过旧版本这表明 1GB 对于少于 500 台计算机来说应该足够了。

所以我的问题是

  • 微软发布了 WSUS 服务器大小规格的更新位置,但我没有找到吗?
  • 如果我要为内部数据库设置内存限制,应该使用什么方法来选择正确的值?是否有一些公式或一些性能指标可以让我设置有用的限制?
  • 我是否只需要继续添加更多内存直到 WSUS 停止使用全部内存?
  • 我是否应该做些其他事情来让 WSUS 使用更少的资源?

答案1

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

Windows 内部数据库是 MS SQL Server 的一个功能受限的实例,因此它将最终消耗掉服务器的所有内存只要数据库大小足够大。通常MSSQL 数据库大小建议如果您想获得最佳数据库性能,请在此处申请。尽管对于 WSUS,数据库性能本身并不那么重要,但您还必须确保为 WSUS 的 IIS 应用程序池以及文件系统缓存留出足够的 RAM。

就我个人而言,我不会费心评估索引页增长率或 SQL 服务器的性能指标,而只是将 WID 限制为 2 GB RAM 使用量,并且仅在监控会发出磁盘使用量过大的警报时才增加此值。WSUS 客户端几乎不会对较长的响应时间敏感,因此只要计算机没有严重超载并且客户端请求没有超时,一切都会很好。

我是否只需要继续添加更多内存直到 WSUS 停止使用全部内存?

这可能会消耗大量资源,因为 WSUS 数据库会随着时间的推移而增长。我管理的 Server 2008 R2 上的 WSUS 3.0 实例启用了一些常用产品和两种语言。它为大约 1,100 个客户提供服务,运行 2 年后数据库大小为 15 GB。

我是否应该做些其他事情来让 WSUS 使用更少的资源?

你可能想看看WSUS 的 IIS 应用程序池的应用程序缓存和垃圾收集设置如果 IIS 进程本身占用了太多资源并且与文件系统缓存竞争。除此之外,如果您为 WSUS 提供 >6 GB 的 RAM 并限制 WID 内存大小,WSUS 应该基本上是即发即弃。

微软发布了 WSUS 服务器大小规格的更新位置,但我没有找到吗?

有可能,但我也没有找到它们。

答案2

我见过像您所说的泄漏和大小限制更改,但我知道 WSUS 的问题很少是内存使用或 CPU。如果您让客户端从服务器拉取数据,那么存储和网络似乎是主要因素。BITS 对等缓存或下游 WSUS 服务器等会有所帮助。总而言之,我会根据此设置大小要求TechNet 文章(您已经链接到)乘以 4,因为现在是 2015 年,正常的 IT“通货膨胀”似乎也适用于此。

为了便于参考,我查看了我部署的 2 个不同的 WSUS 部署...第一个部署规模较小,只有 4 个服务器、30 个客户端...并且使用了大约 1GB 内存。另一个部署使用 SCCM 和 WSUS,因此略有不同,有 400 个服务器和 2500 个客户端,并且使用了 8GB 内存。

相关内容