SQL Server服务器内存升级后的烦恼
作者:佚名 来源:模板天下 发布时间:2008-12-22 10:55:00
不久之前,笔者一个在企业中从事网管工作的朋友向我求助关于SQL Server服务器内存升级后遇到的问题。原来,他们企业准备上一个企业邮箱系统。为了节省开支,他们准备在原来的SQL Server服务器上部署企业的邮箱服务器。为了提高这个服务器的性能,让其能够承担其两种应用服务的重任,所以,他们对内存进行了升级。从原先的1G升级到了2G。
但是,内存升级完以后,邮箱应用服务的性能不但没有改善,而且,还有恶化的趋势。运行一段时间后,这台服务器上运行的邮箱系统就出现了异常情况。时不时的会报出内存分配不足的情况。一开始,他们还以为是邮箱服务器跟SQL Server服务器不兼容。故还请了邮箱服务器的技术人员前来查看。经过他们的检查,发现是SQL Server服务占用的大部分内存所导致的。SQL Server服务所需要的内存,从升级之前的600M左右一下子到了1.5个G。难怪邮箱应用服务要警报说内存不够了。
一、原因分析。
笔者对这种问题已经是见怪不怪了,已经遇到过好几次类似的故障。在SQL Server数据库启动的时候,数据库系统会根据物理内存的大小来动态的增大或者缩小高速缓冲区的容量。这主要是为了提高SQL Server服务器的性能才如此的设计的。
我们知道,一般情况下,高速缓冲区越大,则SQL Server服务器的性能越好。这主要是因为有些用户查询过的数据都可以放在高速缓冲区(即内存的其中一部分)中。如此的话,当用户下次再次需要这些数据的时候,就不用到硬盘中去读取,而直接在内存中读取即可。而从内存中读取数据要比在硬盘中读取速度要快的多。
所以,只要当服务器的可用内存在4MB与10MB之间的话,数据库系统就会把它的高速缓冲区不断的扩大。如此的话,当邮箱服务器突然需要用到比较大的内存,如对邮箱进行备份或者有用户群发邮件的时候,就会报错说“内存分配不足”。
故一般只是内存升级,往往不能够解决SQL Server服务与其他应用服务抢占内存的情况。为了让SQL Server能够与其他应用服务友好的共处,数据库管理员还需要对内存进行合理的分配,限制SQL Server数据库服务内存的占用率。
二、解决方法。
针对他们企业的这种情况,笔者给出两个建议。一是合理地给SQL Server数据库分配内存。而是不要把SQL Server服务跟其他应用服务放在同一台服务器上,毕竟数据库服务的并发行访问比较多,对服务器的性能要求比较高。
若果企业选择第一种应对措施的话,就需要限制SQL Server服务器的内存使用率。为了使得运行在同一台服务器的SQL Server服务器与邮箱服务能够达到一个合理的性能,能够和平共处,就需要采取一定的措施限制SQL Server数据库服务的内存使用量。在SQL Server服务器中,专门提供了一个工具(数据库引擎),可以用来帮助我们干预SQL Server服务器的内存分配。
猜你喜欢
- 下面是规则.你和你的对手,在同一时间做出特定的手势,必须是下面一种手势:石头,剪子,布.胜利者从下面的规则中产生,这个规则本身是个悖论.(a
- 源码解释:def namedtuple(typename, field_names, *, rename=False, defaults=N
- 本文实例分析了Python多线程操作数据库相关问题。分享给大家供大家参考,具体如下:python多线程并发操作数据库,会存在链接数据库超时、
- 环境准备好了!我们怎么使用这些东东?IIS用组件初始化是用这个过程Public Sub OnStartPage给个使用asp组件的例子:数字
- 做一个将本地图片上传到mysql数据库的小实例,顺便也下载下来到桌面检测是否上传成功。在写代码之前得先在数据库中建立image表,用来存储图
- 减少HTTP请求,是可以提高网站速度的,把所有的背景图像都放到一个图片文件中,然后通过CSS的background-image和backgr
- 我们在为大家整Python程序员面试试题中,发现了一些被面试官问到的最多的一些问题,以下就是本篇内容:Python是个非常受欢迎的编程语言,
- 通常,当一个页面有太多信息要显示,而一页塞又不下所有信。为了请求速度、美观以及其他的各种理由,分页就会被我们请过来。让我们的用户可以选择是否
- mysql安装目录使用MySQL AB's Linux RPM分发进行安装后,将在以下系统目录产生文件目录目录内容/usr/bin客
- 这个自定义损失函数的背景:(一般回归用的损失函数是MSE, 但要看实际遇到的情况而有所改变)我们现在想要做一个回归,来预估某个商品的销量,现
- 可在图片连接后面加上宽和高,如:width="150" height="50"<h
- 二进制日志二进制日志中以“事件”的形式记录了数据库中数据的变化情况,对于MySQL数据库的灾难恢复起
- 如下所示:# coding=utf-8import osimport cv2videos_src_path = "/home/wg
- 本周暂时比较清闲,可以保持每日一更的速度。国外身份证项目新增需求,检测出身份证正面的人脸。最开始考虑mobilenet-ssd,经同事提醒,
- 在之前的一篇文章我们介绍了《如何向PHP数组中头部和尾部添加元素》既然有添加元素,那么就有删除元素,今天这篇文章详细介绍如何删除数组中的头部
- 基于ASP技术开发Internet/Intranet上的MIS系统是非常方便的,首先是它借用了ADO技术和概念,同时
- 1、官网说法在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。核心点有2个:DOM 更新和
- 目录索引模型B+Tree索引选择索引优化索引选择性覆盖索引最左前缀原则+索引下推前缀索引唯一索引索引失效总结索引模型哈希表适用于只有等值查询
- 首先看一下这三个函数:rtrim() ltrim() trim();rtrim()定义以及用法: rtrim() 函数移除字符串右侧的空白字
- 表一、运算符与特殊字符 运算符描述/选择子元素,返回左侧元素的直接子元素;如果"/"位于最左侧表示选择根结点的直接子元素