SQLServer数据库运维技术

  • 格式:pdf
  • 大小:2.69 MB
  • 文档页数:35

下载文档原格式

  / 22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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负载。