- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3性能调优方法论ppt整理
1
性能调优方法论
王辉 wang_hui@msn.cn
SQL Server MVP
SQL Server Golden MCT
议题
性能调优方法论–迭代
性能调优方法论–调优顺序
性能调优方法论–缩小
2
方法论-迭代
当人们说有”性能问题”时,背后的意思是什么?
定义”性能问题”
关键的形容词 – 太慢,不足,负载过重,降低
但不是 – 不工作了,毁了,坏了,等
示例
用户的响应时间
每秒钟完成的输入输出(I/O)
每秒钟完成的批次作业
每分钟的数据处理量 (MB)
中央处理器的使用率
以用户的期望值为基础
不是所有的问题都有解,要适时地修改功能,而不是一味地想要达到特定的功能
4
性能定义
基线
用来计算与比较的标准
以系统当前执行的性能为基准,或是以相匹配的系统为基准
这里说的基线是指各组件可以达到的性能
成本
用来升级,更换或是提升组件性能基线的时间、金钱、努力或是人力
优化
让每个组件发挥到最大
5
基线的定义
性能的基线是以用户的期望值为基础
期望值可能基于以下的因素:
以往的经验
应用程序的基准
业界的基准
相似的设置与应用
产品先前的版本
确定所做的比较是正确的 (同级比较)
6
基线的表示方式
基线的表示方式可以是最少,最多,平均或是一个范围
示例:
每秒完成的批次作业 (最大值)
每秒的传输量 (最大值)
每秒的数据量 MB (最大值)
磁盘扫描时间(最小,最大或平均)
7
建立性能基线
最起码要有的测量:
尖峰和离峰时间的操作
在线操作和批次执行的响应时间
数据库备份和重建的完整时间
时间周期的性能变化
将当前服务器的效能与基线做一个比较
8
定义较佳性能的目标
明确的目标
高于某个值,低过某个值等等
以文件说明用来测试及计算效能的工具
以文件定义描述可接受的特殊计算方式
建立合理的最大值
简单地建立一个调优各组件的成本列表
9
建立获得效能的方法论
获取并评估核心的信息
计算当前的性能
分析相关的计数器值,找出瓶颈点
决定相关的组件所花的成本
代换/升级/重写 X 比处理 Y 的成本高
查验形成瓶颈的各种关联性
以成本为基础做全面的优化
不要做局部的优化
观察”膝关节”效应
回应时间对比处理量
10
影响性能的因素
领域知识(Domain Know-how)的应用:系统的好坏很大一部分取决于对领域知识的熟悉程度,或是分析设计的深度,这让你知道什么该存,什么可以切割,80/20 定律的拿捏为何。
数据库设计:如数据分区、正规化与反正规化、数据库对象的使用、归档、维护计划、tempdb 的使用、避免过热过大的数据表或字段...等。
软件系统:熟悉运作原理,正确设定、规划资源使用、监控...等。
硬件架构:设备规格、负载平衡、日常维护、灾难复原…等。
SQL语法:如可搜寻的条件(SARG)、不正确地使用光标...等。
索引与统计:适量且需要日常维护...等。
事务与锁定:事务过大过久、死结...等。
应用程序访问:数据对象的使用、批次、多层次、连接池、避免大量数据结果传递,少用游标造成过多的网络来回...等。
利用工具程序的观察与分析:数据库访问方式、性能计数器、网络流量...等。
解决问题的能力
11
性能调优方法论–调优顺序
12
调优顺序
最困难
但最有成效
最简单
但是收效最少
为何要教一个错误处理的方法论
因为技巧的变化极大
研究显示产品的知识,以往的经验以及解决问题的能力是成功的关键
建立你以往经验所没有的知识基础
DETECT 方法
Discover the problem:发现问题
Explore the conditions:探就原因
Track down possible approaches:提供可能的解决方式
Execute the most likely approach:执行最有可能的解决方案
Check for success (如果需要的话,重复之前的步骤):确认成功与否
Tie up loose ends:完成其余的工作
发现(Discover)问题
关键词眼 - Discover,Describe,以及 Document
是否已经简洁地描述整个问题?
用户当前的基线在哪?
用户的期望是什么?
注意,并不是所有的问题都有解!
另一个 D 不要惶恐(Don’t panic)
D E
T
ECT
探就(Explore)原因
关键词眼 – Explore, Establish 以及 Evidence
取得各种证据
SQLDiag 工具程序的输出
Showplan 输出
各种系统的性能计数器
SQL Server 特有的性能计数器
检查最明显的问题 (但不要深入,记得你是在探究问题,尚未建立执行计划)
探究的过程可以模拟成治疗类选法 (triage)(询问客户 30
文档评论(0)