Tuning Sql Server for SharePoint--- Community Day Belgium 2013
Performance Tuning for SQL Server 2005 Solutions
-
Upload
kim-sparks -
Category
Documents
-
view
53 -
download
0
description
Transcript of Performance Tuning for SQL Server 2005 Solutions
![Page 1: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/1.jpg)
1© Copyright 2007 EMC Corporation. All rights reserved.
Performance Tuning for SQL Server 2005 Solutions
Ryan Chen
Solution Architect – Microsoft
EMC Global Service – MS Practice
![Page 2: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/2.jpg)
2
议程
关于 EMC微软实践部门 SQL Server 2005的架构 性能调优的方法学 如何对基于 SQL Server 2005 的 OLTP系统进行调优 如何对基于 SQL Server 2005 的 OLAP系统进行调优 如何对基于 SQL Server 2005 的 ETL解决方案进行调优
![Page 3: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/3.jpg)
3
关于 EMC微软实践部门
EMC MS Practice EMC微软实践部门 EMC MSP针对 SQL Server的服务 EMC MSP针对其他微软产品的服务
![Page 4: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/4.jpg)
4
EMC MS Practice EMC微软实践部门
在北美市场占据主导地位 全面进入亚太及中东市场 提供经验丰富的领域专家 服务各种规模的行业客户
EMC 微软实践提供业务驱动的 IT 咨询服务,整合Microsoft 及相关技术。
微软全球 5 大服务提供商之一
TAP 及早期部署
影响
PAC8合作伙伴咨询委员会成员
• 先进的基础架构• 业务流程及整合• 数据管理 (BI) – 未决• 微软商务解决方案 (CRM)• 信息工作者• 定制开发• 安全• 独立软件供应商 / 软件
权威经验
R2
认证
Operations Manager 2007Operations Manager 2007
![Page 5: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/5.jpg)
5
EMC MSP针对 SQL Server的服务
SQL Server平台的设计及迁移规划及实施 SQL Server数据应用架构规划及建议 SQL Server高可用及数据保护方案规划及设计 SQL Server性能故障分析及排除 SQL Server平台商务智能解决方案的规划及实施
![Page 6: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/6.jpg)
6
EMC MSP针对其他微软产品的服务
Notes 到 Exchange的迁移 Exchange的升级规划及实施 Exchange的容灾及备份规划及实施 SharePoint的应用设计及开发 桌面及服务器的部署规划及实施 安全架构的规划及实施 .Net应用的设计与开发 ……
更多关于 EMC MSP的问题可以访问 http://www.emc.com/msp或直接联系 [email protected]
![Page 7: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/7.jpg)
7
SQL Server 2005的架构
![Page 8: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/8.jpg)
8
性能调优的方法学
数据架构索引表
查询代码存储过程视图
存储设计
文件组分区
硬件配置
内存处理器亲和度
调优顺序
最困难但最有成效
最简单但是收效最少
![Page 9: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/9.jpg)
9
如何对基于 SQL Server 2005 的 OLTP系统进行调优
OLTP系统的特点 常见的性能问题 如何设计良好的关系型数据库架构 如何编写良好的 T-SQL代码 如何优化 SQL Server的配置
![Page 10: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/10.jpg)
10
OLTP系统的特点
事务处理逻辑比较简单 单个事务要求响应速度快 并发更新事务多
![Page 11: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/11.jpg)
11
常见的性能问题
磁盘负载过重
内存负载过重
处理器负载过重
网络负载过重
架构不良
代码不良
代码不良
客户端代码不良
调整架构
调整代码
调整存储
调整客户端设计
常规情况下
![Page 12: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/12.jpg)
12
如何设计良好的关系型数据库架构
对数据热区的判断– 根据数据热区定义索引、表分割定义
优化 SELECT查询– 尽量将数据存储在同一张表中– 使用索引及索引覆盖策略
优化 UPDATE事务– 尽量将需要更新的数据放在一张较小的表中
优化 DELETE事务– 在大规模删除中评估分区的效果
优化 INSERT事务– 减少对自动编号的依赖
![Page 13: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/13.jpg)
13
如何编写良好的 T-SQL代码
尽量使用基于 Set的逻辑,减少使用基于 Row的逻辑 减少游标的使用 对于小数据集使用表变量而不是临时表 对于需要反复使用的大数据集使用临时表而不是表变量 尽量使用WHERE替代 HAVING
![Page 14: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/14.jpg)
14
如何优化 SQL Server的配置
对于中高端服务器– 在 Boot.ini文件中启用 /3gb参数以及 /pae参数– 在 SQL Server配置中启用 AWE– 在 SQL Server中配置 CPU Affinity以及 Parallel Cost Threshold
对于所有服务器– 配置 tempdb
![Page 15: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/15.jpg)
15
如何对基于 SQL Server 2005 的 OLAP系统进行调优
优化 Dimension的设计 优化Measure Group的设计 优化MDX语句 优化 SQL Server Analysis Service的配置
![Page 16: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/16.jpg)
16
优化 Dimension的设计
利用 Attribute Hierarchy减少 Dimension的数量 禁用不需要的 Attribute 禁用不常用的 Attribute聚合及 Attribute Hierarchy 设置合理的 Attribute Relationship
![Page 17: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/17.jpg)
17
优化Measure Group的设计
对于简单的可计算度量使用 Calculated Member 尽量避免Measure Expression 使用 Cube分区
![Page 18: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/18.jpg)
18
优化MDX语句
限制 Calculation的计算范围 移除空的元组 需要自定义返回值格式时,使用 Format String属性来替代使用条件逻辑
当需要 Cross Join的时候,将较小的 Set放在表达式的右侧 需要比较的时候,尽量使用 IS运算符而不是 =
![Page 19: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/19.jpg)
19
优化 Analysis Service Solution的配置
设置 Process时候的 Temp Dir 在生产环境关闭 Flight Log 选用 Native Provider读取数据源 选用 Aggregation Designer设计聚合方案 生产环境中使用 Usage Based Aggregation Design优化聚合方案
![Page 20: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/20.jpg)
20
如何对基于 SQL Server 2005 的 ETL解决方案进行调优
理解 SSIS两种引擎的差异 Pipeline的工作机制 SSIS的执行计划 执行计划对性能的影响
![Page 21: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/21.jpg)
21
理解 SSIS两种引擎的差异
Run time引擎– 依赖于外部资源– 例如:网络带宽 (FTP task),应用服务器的性能 (Mail task 、 Execute
SQL task)
Data flow引擎– 同样依赖于外部资源 (当需要访问数据源和数据目的的时候 )– 同时依赖于内部资源 (执行数据转换操作的时候 )– 基于内存管道 pipeline缓存管理机制
![Page 22: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/22.jpg)
22
Pipeline的工作机制
操作分类 转换操作 范例 缓存 线程
按行转换 同步派生列、数据转换、多播、查找列
重复利用缓存中的数据
不启用新的线程
部分按块处理 异步 合并、联合 需要将数据复制到新的区域
可能生成新的线程
完全按块处理 异步 聚合、排序 需要将数据复制到新的区域 生成新的线程
![Page 23: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/23.jpg)
23
SSIS的执行计划
![Page 24: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/24.jpg)
24
执行计划对性能的影响
![Page 25: Performance Tuning for SQL Server 2005 Solutions](https://reader035.fdocuments.us/reader035/viewer/2022062217/56813584550346895d9ce34f/html5/thumbnails/25.jpg)
25
SSIS性能调优的建议
减少读入数据缓存的数据行尺寸 最大化线程并行度
– 使用条件性拆分处理聚合运算 最大化缓存的利用率
– 利用已排序的数据源定义来避免排序转换