我们有一个具有 32GB 内存的 2003 集群。
它托管两个 SQL 2005 DB 实例、一个报告实例,并全天运行 SSIS 包。
主实例设置为 22GB 内存,第二个实例用于 SharePoint,并已设置为 4GB 并限制为 2 个处理器 - 每个人都对 sharepoint 非常怀疑,因此它已被锁定。
Reporting Services 的应用程序池限制为 6GB - 可能还会减少。Reporting Services 将很快移至自己的服务器,这样我们就可以摆脱这种情况了。
通过以这种方式设置内存,我们希望应用程序不会不断地争夺内存。
我们现在需要为一些将从 2005 实例中移出的 Web 应用程序设置 2008 实例。
我们在服务器上没有看到太多的分页 - 它通常以每秒 0 到 8 页的速度运行,有时甚至会跳转到几百页/秒。
两个实例的总/目标 SQL 内存值相同。我希望看到主实例的目标内存值较低,并且我会将内存减少到该水平以便为新实例腾出空间。过去,我曾看到过目标内存比总内存低几百兆字节。
你们建议怎么做才能为这个新实例腾出空间,同时保证其他实例正常运行?也许可以对主实例进行动态调整?慢慢降低主实例的最大值,直到分页或其他计数器上升?
答案1
听起来你做得很好。
是的。我会减少分配给主实例的 RAM,直到您开始看到缓存命中率降至 99% 以下(我知道这是一个有缺陷的指标,但可以谨慎使用),并查看磁盘 IO 速率(磁盘队列长度、平均响应时间等)是否增加,以及是否执行老套的“用户测试” - 用户是否觉得运行速度变慢了,还是他们没有注意到?
就我个人而言,我喜欢我的数据库服务器只安装 SQL Server。我将报告服务器和 SharePoint(任何 IIS 服务)分开到各自的服务器上。
你可能想要调查虚拟化...