优化SQLServer数据库服务器内存配置的策略
作者:牧笛 来源:asp之家 发布时间:2009-05-13 10:25:00
农业银行总行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虚拟内存进行设置时需要合理确定各个驱动器分页文件的“起始大小”和“最大值”两个参数,它们用于指定分页文件的起始空间和最大空间。下面对这两个参数作一些解释:
起始大小:指初始创建该分页文件时的文件大小,单位为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计算机不发生交换,这就要求计算机要有足够的物理内存,以保持最少的交换操作。


猜你喜欢
- Python提供了一个内联模块buildin,该模块定义了一些软件开发中经常用到的函数,利用这些函数可以实现数据类型的转换、数据的计算、序列
- 先给大家介绍下python制作定时发送信息脚本,内容如下所示:文章中提到的菜单是右下角这个需求我们需要做到打开微信获取输入框焦点及输入思路1
- 步骤1:关闭MySQL服务右击【计算机】,选择【管理】,打开“计算机管理”界面选择【服务和应用程序】
- 窗口程序的开发流程如下:1. 先通过qt designer设置界面并将程序图标设置好,通过在designer中按ctrl + R 进行预览可
- 本文实例讲述了Go语言实现简单留言板的方法。分享给大家供大家参考。具体实现方法如下:package mainimport ( &n
- 一、APC缓存简介APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中
- 集群是一种实现高可用性的有效解决方案,有时它会适得其反。而且,它还非常昂贵。因此,数据库管理员可使用日志转移代替集群来提供较高的可用性。日志
- 可以从官网加载预训练好的模型:import torchvision.models as modelsmodel = models.vgg16
- list.asp<%@LANGUAGE="VBSCRIPT" CODEPAGE="936&qu
- 用在产品内容展示的页面上,给产品图片加上提示工具条,鼠标移动图片上即可看到效果,效果还是不错的:带黑白效果和放大图片效果(by misshj
- 此文档是一位高手同事Hewei的原创实践总结,过程真是精彩,最后修复损坏数据库取得圆满效果,值得收藏的一篇好文章。前几天因为mysql数据库
- 下面主要介绍配置SQL Server数据库恢复模式的两种方法。用T-SQL设置恢复模式你可以使用“ALTER DATABASE”命令加“SE
- 一、python机器学习–线性回归线性回归是最简单的机器学习模型,其形式简单,易于实现,同时也是很多机器学习模型的基础。对于一个给定的训练集
- 在使用操作XML文件时,我们可以使用Load方法直接加载xml文件即可,在ie和ff下通用。但是是XML字符串,则在两种浏览器下就会有所不同
- Python 中的 main 函数充当程序的执行点,在 Python 编程中定义 main 函数是启
- 下面发一个简单的在线调试服务端js代码的asp源码。并可以提示代码具体错误信息。<%@language="javascrip
- 目录深度遍历递归用栈来遍历磁盘广度遍历磁盘用队列遍历磁盘深度遍历递归import osdef get_files(path):
- Rect(rectangle)指的是矩形,或者长方形,在 Pygame 中我们使用 Rect() 方法来创建一个指定位置,大小的矩形区域。函
- Selenium 封装了现成的文件上传操作。但是随着现代前端框架的发展,文件上传的方式越来越多样。而有一些文件上传的控件,要做自动化控制会更
- 上次亚马逊的商品信息都获取到了,自然要看一下评论的部分。用户的评论能直观的反映当前商品值不值得购买,亚马逊的评分信息也能获取到做一个评分的权