SQLServer数据库运维技术
- 格式:pdf
- 大小:2.69 MB
- 文档页数:35
SQLServer数据库运维技术
Contents目录
1 2 3性能优化概述
性能指标参数及诊断工具性能优化案例
1性能优化概述
系统类型及部署架构
数据库架构设计及日常运维
硬件环境负载能力
业务系统算法设计
系统版本和配置
性能调优
•架构设计
•查询优化
•索引优化
•并发控制
•存储优化
•服务器优化
2
性能参数及诊断工具
Memory性能参数:
C P U性B能u f指fe标r C参a数c h:eHit Ratio
P r o c e s P s o a r g:e Life Expectancy
P r o L c e a s z s y o r W:%r i t e P s r o/c e s s e s c o rTime
Processor:%Privileged Time(Kernel Mode) Processor:%User Time(User Mode)
P r I o O c监e s控s o r性:P能r o参ce数s s:o rQueue Length
Current Disk
Proces Q s u:eue Length
p r o c
A e v s g s.:D%i s k P r S i v e i l c e g/e R d e t a i m d e/
Process: %User time
P r o A c e v s g s.:D%i s k P r S o e c e c s/s W o r r i t t i e m e
B a t c h N r e e t q w u e o s r t k监/s e控c性能参数:
Transactions /sec( total )
Contex B t y s t w e i s t c T h e o s t/a s l e/c sec
Net Utilization
C P U 性能P ocess :%Processor Time 值是否也存在C P U 资源消耗的 Memory 性能参数:Page L T i f m e e E 值xp 持
ec 续ta 数nc 秒y 或更长时Lazy Writes /sec 每秒被问缓题冲区管理器的Lazy write 进程写入
的缓冲区数量数值高说明I /O 可能存在性能问题
IO 监控性能参数:
B C u u f f r e r r e C n a t c h D e i s H k i t R Q a u t i o e u eLength 缓A v 存g •命.D 计中i 数s 率k 器接S 近e 1c 00/%Read
A v g .D P r i o s c k e s S s o e r c :%/P W r o r c i t e e s s o r 实例中间引高用于的8页0面%停留在缓冲区中的时间
N 页e t 面w 切o 换r k 时监间控太短性说能明参内存数存:在问题
By •t e 检s 查T 计o 数t a 器l 中/s S e Q c LServer Net Utilization
性能视图(D M V):
sys.dm_os_wait_stats:服务器级别的收集数据
sys.dm_os_latch_stats:服务器级别收集的闩锁等待信息sys.sysprocesses/sys.dm_exec_requests:可以用在会话级别或者语句级别的等待类型分析
sys.dm_exec_query_stats
/sys.dm_exec_requests/sys.dm_exec_sql_text等系统视图可以查询等待情况,查询执行计划,执行请求相关信息,执行S Q L的文本信息等。
C P U 产生性能问题的因素
低效的SQL 查询
04
存储过程中的游标使用不规范
02
SQL 语句开启的并发查询
03
SQL 语句重编译
01
S Q L重编译
在S Q LS er ver中每执行一个新的S Q L语句它要先完成语法、语句解析再进行编译然后生成可以重复引用和运行的执行计划并存储在缓存中,这样可以节省语句的编译时间大大提升了S Q L执行效率。
然而在S Q L执行编译查询语句时,它会先检测当前存储在缓存中的执行计划是否可用,即匹配执行计划准确性和有效性,当无法匹配到合适(低消耗)的执行计划时,SQLServer会对S Q L语句进行重新编译。会额外消耗C P U性能。
性能参数指标
使用事务跟踪工具对SP:Recompile和RPC:Completed进行监控
同时也可以通过sys.dm_exec_query_stats视图进行查询
统计信息过期,S Q L 在使用索引时无法发挥最佳的查询性能
SQL 无法匹配最佳统计信息
S Q L 语句在查询条件无索引可用的情况下将使用表扫,将额外消耗数据库资源
S Q L 语句查询算法问题也会额外带来性能消耗
执行计划问题
索引缺失或失效
S Q L 代码质量
统计信息过期
低效S Q L
I/O性能问题
低性能的存储硬件或存储架构
低效的SQL语句
数据库及表的部署架构设计不合理
I/O性能优化
S Q L Server的数据存储在文件中,文件是实际存储数据的物理实体,文件组是逻辑对象,SQL Server通过文件组来管理文件。
通常情况下,用户需要关注文件组,而不用关心文件的物理存储,即使D B A改变文件的物理存储,用户也不会察觉到,也不会影响数据库去执行查询。除了逻辑文件和物理文件的分离之外,S Q L Server使用文件组还有一个优势,那就是分散IO负载。