关键字:大内存 SQL Server
为数据库配置比较大的内存,可以有效提高数据库性能。因为数据库在运行过程中,会在内存中划出一块区域来作为数据缓存。通常情况下,用户访问数据库时,数据先会被读取到这个数据缓存中。当下次用户还需要访问这个数据时,就会从这个数据缓存中读取。因为在数据缓存中读取数据要比在硬盘上读取数据快几百倍。所以扩大数据库服务器内存,可以有效提高数据库性能,特别是操作大型数据库时效果更加明显。
但是,现在企业中普遍采用的数据库服务器都是32位的操作系统。而这个32位的操作系统却有最大内存的使用限制。通常情况下,标准的32位地址最多可以采用4GB的内存。若数据库管理员想让数据库系统采用更多的内存来提高数据库的性能,则就需要进行额外的配置。下面笔者就介绍两种常用的配置方式,让SQLServer数据库服务器支持大内存,让其成为数据库的加速剂。
一、让数据库应用程序支持3GB的内存空间。
虽然操作系统支持4GB内存。可是,这并不会全部给数据库等应用程序使用。默认情况下,在32位操作系统中,将有2GB的内存空间是为操作系统所保留的。即使没有用完,其他应用程序也是不能够染指的。而包含SQL Server数据库在内的所有应用程序,只能过采用剩余的2GB内存空间。
但是,在实际应用中,操作系统往往用不着多大2G的内存。根据笔者的经验,一般只要为操作系统保留1G的内存已经足够其使用。只要没有病毒等不良因素作怪,这个内存不会被完全适用。如此的话,应用程序可以采用的内存空间就会多达3G,比原先整整多出一个G来。
要实现这个转变,其实很简单。在Windows操作系统中,有一个BOOT启动配置文件。为了让数据库服务器支持3GB的用户模式进程空间,必须在这个配置文件中,加入一个/3gb的参数,然后重新启动操作系统即可。这么设置之后,应用程序就可以寻址3GB的进程地址空间 ,而为操作系统保留1GB的内存空间。
有时候,这个小小的配置可以在很大程度上提高数据库的性能。记得有一次,笔者为一家企业优化数据库性能。笔者查看了用户的数据库环境之后,就建议用户增大数据库服务器的内存,从2G增加到4G。可是,效果并没有很大的改善。正当笔者束手无措的时候,就想到了改变操作系统与应用程序的内存分配方式。为此,笔者就更改了BOOT启动配置文件,只给操作系统保留1G的内存空间。重新启动后,数据库性能得到了很大的改善。
文章来源于领测软件测试网 https://www.ltesting.net/