科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道优化SQL Server服务器内存配置的策略(3)

优化SQL Server服务器内存配置的策略(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式

作者:tymx 来源:knowsky 2007年9月7日

关键字: 内存 数据库 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件
 

4.注意事项

(1)合理确定分页文件的最大值,根据系统需求随时进行调整,使用过多虚拟内存将导致整个系统处理性能的下降。设置虚拟内存最大值的目的是使用户不必在WindowsNT的交换文件上消耗过多的磁盘空间,通常情况下如果超过了系统需要的最佳值后,生成交换文件的磁盘空

(2)尽可能设立专用硬盘配置内存交换区,或将交换空间放到主硬盘的另一个分区,同时应将主硬盘的交换文件大小降至16MB,这样主硬盘(分区)仅用来放置操作系统和应用程序,就可以减少交换次数,防止频繁交换耗费大量CPU时间。

(3)虚拟内存技术的确改善了Windows NT系统的性能,但也受到机器硬盘空间大小、硬盘速度、处理器(CPU)速度的影响,从理想角度出发,要提高计算机的性能就必须减少交换操作的次数,但是没有一个WindowsNT计算机不发生交换,这就要求计算机要有足够的物理内存,

三、优化Microsoft SQL Server数据库内存配置

内存是影响Microsoft SQL Server系统性能的一个重要因素,SQL Server数据库安装时将为具有32MB物理内存的机器缺省配置16MB可用内存,16MB物理内存的机器缺省配置4MB可用内存。应在Microsoft SQL Server数据库安装后进行内存选项(Memory)设置,最大配置值为2GB为了确定SQL Server系统最适宜的内存需求,可以从总的物理内存中减去Windows NT4.0需要的内存以及其它一些内存需求后综合确定,理想的情况是给SQL Server分配尽可能多的内存。

1.根据物理内存合理规划SQL Server可用内存

在大多数的生产环境中,服务器配备的物理内存是64MB~128MB,偶尔也有256MB的,只要配置恰当是完全可以满足SQL Server的内存需求的。下表是笔者关于SQL Server内存分配的建表。

  

物理内存 分配给SQL Server 设置值(单位:2KB)

8MB 4MB 2048

  16MB 8MB 4096

  32MB 16~18MB 8192~9216

  48MB 28~34MB 14336~17408

  64MB 40~46MB 20480~23552

  128MB 100~108MB 51200~55296

  256MB 216~226MB 110592~115712

  512MB 464~472MB 237568~241664

以下是SQL Server内存选项(Memory)设置方法

(1)从Microsoft SQL Server程序集中启动SQL Enterprise Manager;

(2)从Server Manager窗口中选择“Server”菜单选项;

(3)在“Server”菜单中选择“Configurations”选项;

(4)在“Server Configuration”对话框中选择”Configuration”标签,Configuration

(5)选中“Memory”项目,在“Current”栏填入新值;

(6)停止并重新启动SQLServer服务,使设置生效。

2.合理扩充虚拟内存、增大SQL Server可用内存

当SQL Server系统确实需要扩大可用内存时,应在磁盘空间充足的情况下扩充供虚拟内存

,并相应增大SQL Server可用内存。具体做法是,系统管理员首先扩充服务器的虚拟内存,然

后再参考上表增大SQL Server可用内存,关键是要根据系统的负载情况综合决定是否扩充内存

3.使用tempinRAM

SQL Server使用tempdb临时数据库作为一些查询连接操作时排序或创建临时表的工作空间。将tempdb创建在RAM中可以使系统操作性能有较大提高,而且因为tempdb在每次重启动服务器时都重建,这样即使有非正常的关闭也是较为安全的,例如停电故障。要将tempdb创建在RAM中,可以使用sp_configure进行设置,具体用法请参阅有关资料。

由于tempdbinRAM使用的内存是由系统从内存体单独分配的,与SQL Server的内存选项设置的可用内存池是分开的,使用tempdbin RAM将减少整个系统的可用内存,应根据SQL Server和服务器运行情况进行配置,否则就可能适得其反,影响系统性能。另外,适当增加tempdb数据库空间,即使不使用tempdbin RAM,也可以提高数据库的运行速度。

4.注意事项

(1)建议在生产环境中SQL Server不要设置小于32MB内存,而且数据库服务器上尽量不要

(2)扩充供虚拟内存、增大SQL Server可用内存,应考虑物理内存使用状况和磁盘空间许

(3)在可能的情况下,要为系统留有部分额外的内存,这样在服务器上打开一个服务或添

加一个进程且不改变SQL Server内存配置时,不致于使NT服务器的运行速度受到影响(变得很

慢),一般认为最小为2MB最大为20MB。

四、巧用内存配置,解决统计服务器问题

一单位的统计服务器投入使用后,运行速度较慢,经排查原因,发现SQLServer中的内存选项(Memory)仅为安装缺省值..16MB(而服务器有128MB的物理内存),在将内存值调整为100MB时却误将其改成了1000MB,使得SQL Server服务不能启动,统计数据库打不开,也就不能再次进入SQL Enterprise Manager修改内存设置了。由于近期未备份业务数据,不到万不得已不能重装SQLServer数据库,就试图用命令行参数命令来重新启动SQL Server服务,但均不能奏效,陷入了困境。我们经过仔细分析提出:既然SQL Server可用内存设置值远远大于物理内存,造成SQLServer服务不能启动,何不扩充虚拟内存呢.经设法将机器虚拟内存扩充至1000MB并重新启动,SQL Server数据库成功启动,问题迎刃而解。

五、结束语

目前,大多数单位投入使用的Microsoft SQL Server数据库服务器的物理内存一般都在64MB以上,如农业银行省、市分行的统计服务器配备128MB物理内存,只要按照上面提出的方法合理规划、优化NT和SQL Server的内存配置,使设置尽可能达到最优,应用系统就一定能够充分发挥设计功能、满足业务需求。

(T114)

<<上一页 1

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章