当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

浅谈优化SQLServer数据库服务器内存配置的战略[MSSQL防范]

赞助商链接



  本文“浅谈优化SQLServer数据库服务器内存配置的战略[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

农业银行总行1998年以来正式奉行了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采取客户/服务器情势,以Microsoft sql server为底子成立起来的大型数据库利用程序,系统界面友好、操作简便,计算、解析、检索功效非常强盛,为保证农业银行系统及时举行纵向和横向业务数据采集、按照差别要求生成统计报表,举行全面业务活动解析供应了强有力的保障.但在这套程序的奉行、保护中笔者发现系统有时运行速度较慢,分外是在Win95客户端操作时尤为严重,经过解除网线衔接等硬件大概带来的影响后上述问题仍旧存在.笔者经过细心摸索,发现系统对硬、软件的要求较高,为充分施展计划效能,到达最佳运作效果,需求对计算机硬、软件系统举行较为完备的性能测试与最佳配置,分外是内存配置的好坏对系统的运行速度具有决意性的作用.下面,笔者就若何优化SQLServer数据库服务器的内存配置提出一些熟习和见解.

1、有关内存的基本概念

1?物理内存与虚拟内存
WindowsNT利用两类内存:物理内存与虚拟内存.
物理内存:作为RAM芯片安装在计算机内部的存储器.
虚拟内存:用于模拟RAM芯片功效的磁盘(硬盘)空间,其实质是通过将内存中当前没有利用的部份内容暂时存储到磁盘上,使系统可以利用到比机械物理内存更多的内存.
2?分页和分页文件
WindowsNT系统通过利用磁盘空间使得对内存的需求得到部份减缓,从而利用到比物理内存更多内存的技术就称为"交换"或分页,也就是普通所说的虚拟内存技术.普通Windows NT 4.0系统安装时将在指导驱动器上设置一个大小为16MB的交换(分页)文件(pagefile.sys).

2、优化Windows NT 4.0系统内存配置

在大大都情形下,为了充分施展Windows NT 4.0系统效能,内存的作用比起处理器的处理本领更具有影响力,分外是在客户/服务器情势环境下更是如此,因为普通在这种环境下并不非常夸大处理器的本领,相反却非常注重能否采取充足的内存来满意各个客户的利用需求.此外,为了得到容错功效和保护利用程序,保证利用程序高速运行、充分施展计划功效都需求有充足多的内存,分外是产业画图计划和各种工程利用程序更需求占用大量的内存来举行复杂的计算.
物理内存(RAM)便利快速的长处显而易见,但由于其价钱高贵,也就不大概做到多多益善了,因此通过公道优化内存配置、扩大虚拟内存提高计算机运算速度也就成了一项很重要的利用技术手段.
1?保证Windows NT系统基本内存需求
Windows NT 4.0系统至小应配置12MB内存,16MB内存基本够用,正常情形下保证NT系统有32MB内存便可以了,因为并非全部的16MB基本内存在任什么时刻候都被同时利用.假如增添一些服务和利用程序,则对内存的需求就会急剧增大.如:
(1)增添网络服务需求4MB内存空间;
(2)容错功效和系统保护功效需求8MB内存(如磁盘镜像和分条功效);
(3)举行图形图象处理需求增添16MB内存空间;
(4)安装VC、VB开辟系统需求增添16MB内存空间;
别的,如在Windows NT上构建大型数据库如SYBASE、Microsoft SQL Server等,对内存的需求就更多了.
2?优化内存性能
为了使WindowsNT不至于过度占用较多的内存大概浪费处理器的时间用于换页,可以采取以下办法优化内存性能.
(1)削减显示颜色的数目;
(2)降低显示辨别率;
(3)尽大概不利用或利用位宽度较小的墙纸;
(4)关闭不需求的服务程序或驱动程序,尽大概不要在服务器上利用别的利用程序.
停用服务或驱动程序的操作步骤以下:
①肯定需求停用的服务或驱动程序的名称;
②从"掌握面板"中双击"服务"或"设备"图标;
③在列表中挑选想要停用的服务或设备驱动程序的名称,单击"终止"按钮,这时呈现确认操作对话框;
④挑选"是"确认操作,然后关闭对话框完成设置.
3?优化虚拟内存
在对Windows NT虚拟内存举行设置时需求公道肯定各个驱动器分页文件的"起始大小"和"最大值"两个参数,它们用于指定分页文件的起始空间和最大空间.下面对这两个参数作一些注释:
起始大小:指初始成立该分页文件时的文件大小,单位为MB,按照缺省设置,这个值被设置为系统中的物理内存的大小.
最大值:指出该分页文件的最大尺寸,单位为MB.
(1)分页文件的设置原则:
①分页文件起始大小应保存缺省设置,普通情形下请不要窜改;
②分页文件抱负的最大尺寸为系统物理内存尺寸的2.5倍至4倍.需求阐明的是:假如系统工作时不需求大量内存,请挑选接近下限的值,即用系统物理内存的2.5倍作为这个尺寸的起始值;假如系统工作时需求大量内存,请挑选接近上限的值.
(2)Windows NT虚拟内存设置步骤:
①从"掌握面板"中双击"系统"图标;
②在"系统特点"对话框中单击"性能"标签;
③在虚拟内存对话框中单击"更改"按钮,这时呈现"虚拟内存"对话框,上端的驱动器框一一列出了 Windows NT全部页面文件的大小;
④在驱动器列表中,挑选需求设置分页文件的驱动器盘符,在"驱动器页面文件大小"对话框中列出了 "起始大小"和"最大值"两个参数栏,填入按照上面的原则肯定的数值;
⑤单击"设置"确认以上操作,然后顺次单击"肯定"按钮退出各个对话框,完成设置.
(3)Win95/98虚拟内存设置.
Win95/98虚拟内存设置办法、步骤和原则与Windows NT 4.0的设置大致相同,请参照上面Windows NT的设置.
4?注意事项
(1)公道肯定分页文件的最大值,按照系统需求随时举行调整,利用过量虚拟内存将招致整个系统处理性能的下降.设置虚拟内存最大值的目的是利用户没必要在WindowsNT的交换文件上损耗过量的磁盘空间,普通情形下假如超越了系统需求的最佳值后,生成交换文件的磁盘空间就被浪费了.
(2)尽大概设立专用硬盘配置内存交换区,或将交换空间放到主硬盘的另一个分区,同时应将主硬盘的交换文件大小降至16MB,这样主硬盘(分区)仅用来安排操作系统和利用程序,便可以削减交换次数,避免频繁交换耗费大量 CPU时间.
(3)虚拟内存技术的确改进了Windows NT系统的性能,但也遭到机械硬盘空间大小、硬盘速度、处理器 (CPU)速度的影响,从抱负角度动身,要提高计算机的性能就必须削减交换操作的次数,但是没有一个WindowsNT计算机不发生交换,这就要求计算奥秘有充足的物理内存,以保持最少的交换操作.

3、优化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.
4、巧用内存配置,办理统计服务器问题

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

5、完毕语

目前,大大都单位投入利用的Microsoft SQL Server数据库服务器的物理内存普通都在64MB以上,如农业银行省、市分行的统计服务器装备128MB物理内存,只要按照上面提出的办法公道筹划、优化NT和SQL Server的内存配置,使设置尽大概到达最优,利用系统就一定可以充分施展计划功效、满意业务需求.□

季广胜(中国农业银行江苏省泰州市分行信息电脑中央,江苏 泰州 225300)

参 考 文 献

1,Jim Boye Windows NT 4.0 INSTALLATION& CONFIGURATION 北京:机械产业出版社,1997 7
2,Microsoft公司网络数据库系统管理 Microsoft SQL Server 6.0北京:科学出版社,1997 1

<
  以上是“浅谈优化SQLServer数据库服务器内存配置的战略[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 浅谈优化SQLServer数据库服务器内存配置的战略
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .