暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
常见的等待类型及其优化方法.pdf
896
7页
22次
2023-01-28
100墨值下载
常见的等待类型有:
并行执行
多任务等待
I/O等待
备份还原等待
锁定等待
数据库日志等待
外部资源等待
一、并行执行
并行执行最常见的等待类型是CXPACKET。
降低CXPACKET等待
常见的引起CXPACKET等待类型的情况:
1.在可变类型列中,数据的分布存在严重倾斜,比如某列varchar类型的
数据,有些
数据的长度是60bytes,有些却达到500bytes,对这样的数据进行查询
时,会导致
执行计划不够高效,也会导致统计信息的可参考性降低。在并行执行
时,容易出
现某个线程执行很快,但另外一个执行很慢的情况,从而增加了
CXPACKET的出
现概率。
2.在并发的过程中,如果一个线程出现了资源瓶颈,会导致这个线程的速
度比其他
线程要慢,从而影响整体的运行速度。
3.查询所需的数据存放在不同的I/O子系统中,而这些子系统的性能又存
在差异,最
终的结果会跟上面的第二种情况类似。但是这种情况发生在可能性比较
低。
4.查询所需的数据中,不同部分的碎片不同,所需的I/O也不同。I/O数量
直接影响运
行速度和资源开销,甚至影响执行计划的生成,从而也导致了查询过程
中不同线
程部分的运行速度出现差异。
CXPACKET建议
如果并行操作失去了“平衡”,会使得CPU压力增大。在出现类似问题
时,可以尝试
以下方法。
1.如果是碎片问题,则减少碎片。
2.从物理文件的存放上要避免出现同一查询的不同部分因为I/O性能差异
而出现差
异。简单来说,就是保证数据文件所在的盘性能相等。
3.尽可能保持统计信息的实时性。
4.过多的线程会导致上下文切换开销,也容易引起CXPACKET等待,所以
在改动这
方面配置时,需要进行严谨的测试和监控。
5.绝大部分性能问题的终极方案----优化,从数据库设计、查询编码、索
引设计上进
行优化。
6.最常见的问题是由于查询性能过低,导致SQLServer选择了并行操作,
而并行操
作又存在一些问题,从而出现了这种等待。
扩展前面这个要点:在保持统计信息实时性和存在适当索引的前提下,
可以设置
查询中的MAXDOP,这个值可以设置为NUMA的物理CPU核数。对于
实例级别的
MAXDOP,应该考虑负载类型,比如是纯OLAP/OLTP还是混合类型。
7.把costthresholdforparallelism的值调高。
of 7
100墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜