楼主: arron刘

【案例讨论】从案例引发的对SQL Server性能调优的思考

[复制链接]
论坛徽章:
0
121#
发表于 2012-5-17 10:25 | 只看该作者
本帖最后由 pzk417 于 2012-5-17 10:36 编辑

Page Life Expectancy 这个数字 我刚去我测试数据库看来下 是153273  这个数字 应该是越大越好吧 《300 这个。。。我不是很理解 是不是指Page Life Expectancy  的最小值呀

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
122#
发表于 2012-5-17 10:43 | 只看该作者
pzk417 发表于 2012-5-17 10:25
Page Life Expectancy 这个数字 我刚去我测试数据库看来下 是153273  这个数字 应该是越大越好吧 《300 这个 ...

恩 建议最低值是300.这个值越大越好.
这个值代表在内存中存放的时间.
如果越长,那么代表基本上呆在内存中,那么query的时候就会很快.
从内存中读取数据的速度是磁盘读取数据速度的N倍

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
123#
发表于 2012-5-17 10:44 | 只看该作者
yanyangtian4502 发表于 2012-5-17 09:18
在这里,我就不讲基本的概念,这个任务就留给大家了。
我这里主要讲讲常常遇到的一些与内存相关的问题。
...

你这里写错了吧...
在上面的计数器中,我要纠正一个传言:Page Life Expectancy一般不要超过300.
应该是阈值(最小值)为300吧.

使用道具 举报

回复
招聘 : Android开发
论坛徽章:
17
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51蜘蛛蛋
日期:2012-05-28 16:54:09双黄蛋
日期:2012-05-28 17:45:17ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08
124#
发表于 2012-5-17 10:47 | 只看该作者
hwtong 发表于 2012-5-17 10:44
你这里写错了吧...
在上面的计数器中,我要纠正一个传言:Page Life Expectancy一般不要超过300.
应该是 ...

对,最小阀值,多谢提示!!!

使用道具 举报

回复
招聘 : Android开发
论坛徽章:
17
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51蜘蛛蛋
日期:2012-05-28 16:54:09双黄蛋
日期:2012-05-28 17:45:17ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08
125#
发表于 2012-5-17 11:59 | 只看该作者
hwtong 发表于 2012-5-17 10:43
恩 建议最低值是300.这个值越大越好.
这个值代表在内存中存放的时间.
如果越长,那么代表基本上呆在内存 ...

版主,你也分享一些内存方面的经验和感受吧 呵呵

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
126#
发表于 2012-5-17 13:09 | 只看该作者
yanyangtian4502 发表于 2012-5-17 11:59
版主,你也分享一些内存方面的经验和感受吧 呵呵

其实,我这方面的经验比较少.
以前的话,一般都是通过监控计数器进而判断内存方面是否OK的

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
127#
发表于 2012-5-17 13:18 | 只看该作者
我说下,我在监控内存方面的一些计数器.
第一:Memory:\Available MBytes,这个计数器包含了当前OS包含多少可用内存的信息,我一般至少要求,这个值大于256M.
第二:SQL Server: Buffer Manager: Buffer Cache Hit Ratio 这个的话,是表示缓存命中率的.一般要求大于98%.当然这是对于OLTP的数据库而言,对OLAP不用太在意.
第三:Sql Server:Buffer Manger:Page Life Expectancy,这个计数器你在上面也说到过,是指页面生命的一个指标.我一般的参考值是300.当然根据你上面所说的,需要根据内存大小来调整这个参考值的大小

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
128#
发表于 2012-5-17 13:32 | 只看该作者
当然一般的内存压力主要是来自query了大量数据.
一般优化的方法,是监控逻辑读很高的sql,当逻辑读下降之后,该sql使用的内存自然会下降了.

使用道具 举报

回复
招聘 : Android开发
论坛徽章:
17
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51蜘蛛蛋
日期:2012-05-28 16:54:09双黄蛋
日期:2012-05-28 17:45:17ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08
129#
发表于 2012-5-17 13:35 | 只看该作者
hwtong 发表于 2012-5-17 13:18
我说下,我在监控内存方面的一些计数器.
第一:Memory:\Available MBytes,这个计数器包含了当前OS包含多少可 ...

其实 我一直认为内存的问题 如果真的要分析 不容易!
但是,从一些项目的优化来看,真正需要深入分析的时候不多,几个常用的措施就可以搞定了。
除非是对性能方面的要求非常非常高的项目。

调整AWE,或者3gp。
采用dmv查看那些组件消耗内存
通过使用dbcc 查看memorystatus,查看查询计划,adhoc等方面占用的内存
然后对索引优化,问题就搞定了一大半了

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
130#
发表于 2012-5-17 13:38 | 只看该作者
yanyangtian4502 发表于 2012-5-17 13:35
其实 我一直认为内存的问题 如果真的要分析 不容易!
但是,从一些项目的优化来看,真正需要深入分析的时 ...

说到AWE,如果内存的确很大,建议换到64位操作系统.
毕竟PAE寻址的内存仅可用于缓冲区,只能用于数据存储,不能用于增加系统上可用数据库之类的操作和任务.
在64位中使用的内存可以同时用于数据和过程缓冲

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表