计算机三级数据库辅导:优化SQLServer数据库服务器内存配置的策略

计算机三级数据库辅导:优化SQLServer数据库服务器内存配置的策略,第1张

计算机三级数据库辅导:优化SQLServer数据库服务器内存配置的策略,第2张

从1998年开始,中国农业银行总行正式推广新版网上综合业务统计信息系统。该系统是一个基于WindowsNT4.0平台、客户机/服务器模式和Microsoft SQL Server的大型数据库应用程序。系统界面友好,易于操作,计算、分析和检索功能十分强大。为农业银行系统及时收集纵向和横向业务数据,根据不同要求生成统计报表,进行全面的业务活动分析提供了有力保障。但在此程序的推广和维护过程中,笔者发现系统有时运行缓慢,尤其是在Win95客户端运行时,排除网线连接等硬件可能带来的影响后,上述问题依然存在。经过仔细探索,笔者发现该系统对硬件和软件都有较高的要求。为了充分发挥设计效率,达到运行效果,需要对计算机软硬件系统进行比较完整的性能测试和配置,尤其是内存配置对系统的运行速度起着决定性的作用。下面,笔者就如何优化SQLServer数据库服务器的内存配置提出一些想法和看法。
一、内存的基本概念
1物理内存和虚拟内存
WindowsNT使用两种类型的内存:物理内存和虚拟内存。
物理内存:作为RAM芯片安装在计算机内部的内存。
虚拟内存:用来模拟RAM芯片功能的磁盘(硬盘)空空间。它的本质是系统通过在磁盘上的内存中临时存储一些不用的内容,可以使用比机器物理内存更多的内存。
2分页和分页文件
WindowsNT系统通过利用磁盘之间的空间空部分缓解了对内存的需求,以至于使用比物理内存更多内存的技术被称为“交换”或分页,也就是通常所说的虚拟内存技术。通常,当安装Windows NT 4.0系统时,会在引导驱动器上设置一个16MB的交换(分页)文件(pagefile.sys)。二。优化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的虚拟内存时,需要合理确定每个驱动器的分页文件的两个参数:starting size和value,用来指定分页文件的starting 空和空。下面解释两个参数:
Start size:指分页文件初始创建时的文件大小,单位为MB。根据默认设置,该值被设置为系统中物理内存的大小。
Value:表示分页文件的大小(MB)。
(1)分页文件的设置原则:
①分页文件的初始大小应保持默认设置,一般情况下请不要更改;
②分页文件的理想大小是系统物理内存大小的2.5到4倍。注意:如果系统工作时不需要大量内存,请选择一个接近下限的值,即系统物理内存的2.5倍作为这个大小的起始值;如果系统工作时需要大量内存,请选择接近上限的值。
(2)Windows NT虚拟内存设置步骤:
①从控制面板双击系统图标;
②单击系统属性对话框中的性能选项卡;
③点击虚拟内存对话框中的“更改”按钮,会出现“虚拟内存”对话框,顶部的驱动框会逐一列出Windows NT所有页面文件的大小;
④在驱动器列表中,选择需要设置分页文件的驱动器盘符,在“驱动器分页文件大小”对话框中,列出“起始大小”和“值”两个参数栏,填写根据上述原则确定的值;
⑤点击“设置”确认上述操作,然后点击“确定”退出各对话框,完成设置。
(3) Win95/98虚拟内存设置。
win 95/98中虚拟内存设置的方法、步骤和原理与Windows NT 4.0大致相同。请参考上面Windows NT中的设置。
4注意事项
(1)合理确定分页文件的值,并根据系统要求随时调整。使用过多的虚拟内存会导致整个系统的处理性能下降。设置虚拟内存值的目的是为了防止用户在WindowsNT的交换文件上消耗过多的磁盘空空间。通常情况下,如果值超过了系统要求的值,那么生成交换文件的磁盘空空间就会被浪费掉。
(2)尽可能设置专用硬盘配置内存交换区,或者将交换空空间放在主硬盘的另一个分区。同时,主硬盘的交换文件大小要减小到16MB,这样主硬盘(分区)只能用来放置操作系统和应用程序,这样可以减少交换的次数,避免频繁的交换消耗大量的CPU时间。
(3)虚拟内存技术确实提升了WindowsNT系统的性能,但也受到机器硬盘大小空、硬盘速度、CPU速度的影响。从理想的角度来说,要提高计算机的性能,就要减少交换操作的次数,但是没有交换就没有Windows NT计算机,这就要求计算机有足够的物理内存来保持最小。三。优化Microsoft SQL Server数据库的内存分配
内存是影响Microsoft SQL Server系统性能的重要因素。安装SQL Server数据库时,默认情况下,将为物理内存为32MB的计算机分配16MB的可用内存,为物理内存为16MB的计算机分配4MB的可用内存。应该在安装Microsoft SQL Server数据库后设置内存选项,配置值为2GB。
为了确定最适合SQL Server系统的内存需求,可以从总物理内存中减去Windows NT4.0所需的内存和其他内存需求,综合确定。理想情况下,您应该在不进行页面调度的情况下为SQL Server分配尽可能多的内存。
1根据物理内存合理规划SQL Server的可用内存
在大多数生产环境下,服务器的物理内存为64 MB ~ 128 MB,偶尔也有256MB,只要配置得当,完全可以满足SQL Server的内存需求。下表是作者对SQL Server内存分配的建议计划,供参考。
物理内存分配给SQL Server设置值(单位:2kb)
8mb 4mb 2048
16mb 8mb 4096
32mb 16 ~ 18mb 8192 ~ 9216
48mb 28 ~ 34mb 1433 64MB 40 ~ 46MB 20480 ~ 23552
128 MB 100 ~ 108 MB来自Microsoft SQL Server程序集;
(2)从服务器管理器窗口中选择“服务器”菜单选项;
(3)在服务器菜单中选择配置选项;
(4)在“服务器配置”对话框中选择“配置”选项卡,配置窗口显示配置选项列表;
(5)选择“内存”项,在“当前”栏中填入新值;
(6)停止并重新启动SQLServer服务以使设置生效。2合理扩展虚拟内存,增加SQL Server的可用内存
当SQL Server的可用内存确实需要扩展时,应该在磁盘足够多的情况下扩展虚拟内存空,相应增加SQL Server的可用内存。具体来说,系统管理员首先扩展服务器的虚拟内存,然后参照上表增加SQL Server的可用内存。关键是要根据系统负载综合决定是否扩充内存,优化配置。
3使用tempinRAM
SQL Server使用tempdb临时数据库作为在某些查询连接操作期间排序或创建临时表的工作间空。在RAM中创建tempdb可以大大提高系统的运行性能,而且由于服务器每次重启都会重新构建tempdb,所以即使非正常关机,比如断电,也更加安全。要在RAM中创建tempdb,可以使用sp_configure来设置它。具体用法请参考相关资料。
由于tempdbinRAM使用的内存是系统从内存库中单独分配的,与SQL Server的memory选项设置的可用内存池是分开的,使用tempdbin RAM会减少整个系统的可用内存,应根据SQL Server和Server的运行情况进行配置,否则可能会适得其反,影响系统性能。另外,适当增加tempdb database 空空间,即使不使用tempdbin RAM,也能提高数据库的运行速度。
4注意事项
(1)建议SQL Server在生产环境中不要设置小于32MB的内存,尽量不要在数据库服务器上运行其他应用程序;
(2)扩展虚拟内存,增加SQL Server的可用内存,要考虑物理内存的使用和磁盘间的许可空;
(3)如果可能的话,应该为系统预留一些额外的内存,这样在不改变SQL Server内存配置的情况下,在服务器上打开服务或者添加进程时,NT server的运行速度不会受到影响(变得很慢)。一般认为最低2MB,20MB。
四。巧妙利用内存配置解决统计服务器问题
某公司的统计服务器投入使用后,运行速度缓慢。查了一下原因,发现SQLServer中的内存选项只是安装的默认值——16mb(而服务器的物理内存是128MB),但在内存值调整到100MB时被误改成了1000MB。SQL Server服务无法启动,统计数据库无法打开,无法再次进入SQL企业管理器修改内存设置。因为最近没有备份业务数据,万不得已又不能重装SQLServer数据库,所以尝试用命令行参数命令重启SQL Server服务,但都失败了,陷入了两难的境地。经过仔细分析,我们提出:既然SQLServer的可用内存设置值远大于物理内存,无法启动SQL Server服务,为什么不扩展虚拟内存呢?在尝试将机器的虚拟内存扩展到1000MB并重启后,成功启动了SQL Server数据库,问题得到了解决。
五、结论
目前大多数单位投入使用的微软SQL Server数据库服务器的物理内存一般都在64MB以上。例如,中国农业银行省市分行的统计服务器配备了128MB的物理内存。只要按照上述方法合理规划和优化NT和SQL Server的内存配置,尽可能达到设定,应用系统就能充分发挥设计功能,满足业务需求。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 计算机三级数据库辅导:优化SQLServer数据库服务器内存配置的策略

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情