知识大全 大内存SQLServer数据库的加速剂

Posted 数据库

篇首语:行是知之始,知是行之成。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 大内存SQLServer数据库的加速剂相关的知识,希望对你有一定的参考价值。

大内存SQLServer数据库的加速剂  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  为数据库配置比较大的内存 可以有效提高数据库性能 因为数据库在运行过程中 会在内存中划出一块区域来作为数据缓存 通常情况下 用户访问数据库时 数据先会被读取到这个数据缓存中 当下次用户还需要访问这个数据时 就会从这个数据缓存中读取 因为在数据缓存中读取数据要比在硬盘上读取数据快几百倍 所以扩大数据库服务器内存 可以有效提高数据库性能 特别是操作大型数据库时效果更加明显

  但是 现在企业中普遍采用的数据库服务器都是 位的操作系统 而这个 位的操作系统却有最大内存的使用限制 通常情况下 标准的 位地址最多可以采用 GB的内存 若数据库管理员想让数据库系统采用更多的内存来提高数据库的性能 则就需要进行额外的配置 下面笔者就介绍两种常用的配置方式 让SQLServer数据库服务器支持大内存 让其成为数据库的加速剂

  一 让数据库应用程序支持 GB的内存空间

  虽然操作系统支持 GB内存 可是 这并不会全部给数据库等应用程序使用 默认情况下 在 位操作系统中 将有 GB的内存空间是为操作系统所保留的 即使没有用完 其他应用程序也是不能够染指的 而包含SQL Server数据库在内的所有应用程序 只能过采用剩余的 GB内存空间

  但是 在实际应用中 操作系统往往用不着多大 G的内存 根据笔者的经验 一般只要为操作系统保留 G的内存已经足够其使用 只要没有病毒等不良因素作怪 这个内存不会被完全适用 如此的话 应用程序可以采用的内存空间就会多达 G 比原先整整多出一个G来

  要实现这个转变 其实很简单 在Windows操作系统中 有一个BOOT启动配置文件 为了让数据库服务器支持 GB的用户模式进程空间 必须在这个配置文件中 加入一个/ gb的参数 然后重新启动操作系统即可 这么设置之后 应用程序就可以寻址 GB的进程地址空间 而为操作系统保留 GB的内存空间

  有时候 这个小小的配置可以在很大程度上提高数据库的性能 记得有一次 笔者为一家企业优化数据库性能 笔者查看了用户的数据库环境之后 就建议用户增大数据库服务器的内存 从 G增加到 G 可是 效果并没有很大的改善 正当笔者束手无措的时候 就想到了改变操作系统与应用程序的内存分配方式 为此 笔者就更改了BOOT启动配置文件 只给操作系统保留 G的内存空间 重新启动后 数据库性能得到了很大的改善

  二 为SQLServer启用更高的内存支持

  如果数据库应用程序内存寻址空间达到 GB后 数据库管理员还不满足的话 则就需要通过增加物理内存的方式 来提高应用程序的性能 若需要服务器操作系统突破其默认 GB内存空间的限制 支持 GB以上的内存空间 也不是不可能的 只是需要进行额外的配置 并且 其维护的工作量也比较大

  若想要SQLServer数据库支持 GB以上的内存寻址空间 则往往需要进行如下配置

  第一步 锁定内存页

  默认情况下 内存大小与操作系统的虚拟内存之间有一个正比例关系 在这里 数据库管理员只想增大服务器的物理内存 而不想对虚拟内存有什么影响 故需要锁定内存页 锁定内存页的主要作用就是确定哪些帐户可以使用进程将数据保留在物理内存中 从而阻止系统将数据分页到磁盘的虚拟内存中 默认情况下 这个选项的只为OFF 也就是说 在必要的时候 系统会将数据分页到硬盘的虚拟空间中 为了最大程度发挥内存的效用 就需要把这个选项开启 不过这数据库管理员往往需要寻求系统管理员的帮助 因为只有具有系统管理员权限的用户 才能够给更改这个选项

  第二步 启用Awe Enable选项

  默认情况下 即使服务器操作系统支持 GB以上的内存空间 可是数据库应用程序并不一定支持 为了让SQLServer应用程序也支持这个 就必须更改数据库的配置参数 也就是说 需要将这个选项的值设置为 然后重新启动数据库系统 这个配置比较简单 只需要利用命令sp_configure awe enabled 即可 不过在进行这个配置之前 需要注意两个细节方面的内容 一是数据库用户需要这个操作的权限 二是这里有一个BUG 即在SQL Server数据库中会有一个错误信息 数据库管理员可以忽略这个信息

  第三步 限制文件系统缓存

  若增加的内存给操作系统或者其他应用程序用了 那么数据库管理员不是白忙一场吗?为此 数据库管理员还需要优化数据库系统内存的使用情况 如需要限制系统用于文件缓存的内存量 如要这么处理的话 只需要简单的三个步骤即可

  首先 数据库管理员在操作系统中 找到控制面板 并双击网络连接 然后选中本地连接 其次 双击本地连接 在弹出的对话框中 找到常规选项卡 单击属性 选中网络文件与打印机共享 并单击属性 最后 在弹出的对话框中 去掉 最大化网络应用程序数据吞吐量 复选框 一路按确认即可 这个简单的步骤 就可以优化数据库内存的使用率

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

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

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

cha138/Article/program/SQL/201311/16351

相关参考

知识大全 java虚拟机管理大内存

 众所周知jvm的内存是受限的一为机器的体系架构二为操作系统本身xxSPARC的内存映射是不同而各操作系统的内存管理机制也有区别以下是来自;Heap设定与垃圾回收JavaHeap分为个区Yo

大内塞排脓散

大内塞排脓散的基本资料,古籍论述1条,相关中药材17味。大内塞排脓散的基本资料大内塞排脓散(《千金》卷二十二)处方山茱萸1分,五味子1分,茯苓1分,干姜1分,当归4分,石韦4分,芎?4分,附子2分,苁

知识大全 数据从sqlserver导入mysql数据库的体验

  第一种是安装mysqlODBC利用sqlserver的导出功能选择mysql数据源进行数据的直接导出这种方法很简便但是针对实际应用有很多弊端最主要体现就是数据类型问题首先sqlserver数据库中

知识大全 SQLServer数据库的攻击分析

SQLServer数据库的攻击分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SQL数据库的

知识大全 同步两个SQLServer数据库

同步两个SQLServer数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如何同步两个SQ

知识大全 sqlserver问题解答

  如何用ASP动态显示服务器(SQLSERVER)数据库中数据的变化该数据库中数据是一些随时变化的数据?  答:解决的方法可以是:采用定时刷新的技术      做论坛如何设计数据库?是把所有文章都放

知识大全 用 struts 向数据库中储存图片

  这个例子是通过用Struts的FormFile来写入到MySQL中    用用户通过选一个图片然后按submit就可以存入数据库中    其中先要建立一个表:    createtabletest

知识大全 SQLServer置疑数据库解决方法

SQLServer置疑数据库解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首先确认已经

知识大全 SQLServer数据库的注意事项

SQLServer数据库的注意事项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如果你正在负责

知识大全 浅谈ACCESS数据库升迁SQLSERVER

浅谈ACCESS数据库升迁SQLSERVER  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs