您的位置: 飞扬精品软件园 >> 文章中心 >> 网络通讯 >> 服务器类 >> 大内存SQL Server数据库的加速剂

相关文章链接

本类文章排行

最新新闻资讯

    大内存SQL Server数据库的加速剂

    大内存SQL Server数据库的加速剂


    • 阅览次数: 文章来源: 原文作者: 整理日期: 2010-07-13


    三、大内存维护管理几个关键点。

      在通常情况下,往往不需要启用4GB以上的内存。但是,若在服务器上,同时启用了其他的应用程序服务。如在一台服务器上同时有数据库应用程序、邮件应用程序、文件服务器等多个应用服务的话,则可能原有的4GB内存无法满足。系统管理员不得不对内存进行升级。但是,对内存升级之后,数据库管理员需要手工对内存的分配进行干预,以免SQLServer应用程序占用比较多的内存空间,而影响其他应用程序的性能。

      1、配置max server memory选项。虽然说这个选项并不是必须要修改的,但是笔者仍强烈建议数据库管理员要修改这个选项。特别是数据库应用程序与其他应用程序共享同一台服务器时。因为启动SQLServer对大内存的支持后(将Awe Enabled设置为1),而且可用物理内存大于用户模式进程空间。则当启动数据库服务器时,运行的SQLServer实例将会占用几乎所有的可用内存(不管需不需要使用,数据库服务器程序会先锁定这些内存。这就叫占着茅坑不拉屎)。而这个max server memory选项就是用来配置其最大可以占用的内存数量。数据库管理员需要预先估算出一个合理的数值,然后进行配置。让数据库应用程序与其他应用服务能够共同改善,至少不能够对其他应用程序的性呢产生不良影响。在比较极端的情况下,可以在升级内存之前,先关闭数据库应用程序;然后启用其他应用程序服务。观测一段时间,看看他们所需要用到多少的内存。然后升级内存,并为其他应用程序至少保留以前所需要的内存空间。否则的话,就会对其他应用程序产生不良影响。牺牲其他应用程序的性能来提高数据库的性能,这是拆西墙补东墙的做法,不值得取。

      2、多个SQLServer实例内存如何分配。往往在一个SQLServer数据库中,会配置多个数据库实例。一个数据库实例用来负责ERP系统的运行,另外一个则是给CRM系统使用。在同一个数据库系统中,有多个数据库实例,此时该如何在各个实例之间分配可用的内存呢?这基于操作系统的不同,又有所不同。如果数据库操作系统采用的是2000系列的,则需要为每个数据库实例配置max server memory选项。否则的话,其中某一个数据库实例就有可能锁定全部的可用内存。这主要是因为2000系列的服务器系统并不支持动态分配大内存。所以需要为每个数据库实例配置这个选项。但是,若数据库服务器采用的是2003系列的服务器操作系统,则不需要进行手工的配置这些参数。因为操作系统会动态地分配内存。也就是说,操作系统会按照总体系统要求平衡SQLServer各个实例之间内存的使用。不过为了提高数据库整体性能,最好还是为各个实例配置max server memory;而不让操作系统来搞平衡。

    [1] [2] [3]


查看所有评论

网友对大内存SQL Server数据库的加速剂 的评论

网名:
主题:
内容:
验证码: