【译】SQL Server误区30日谈

  • 时间:
  • 浏览:0
  • 来源:uu快3开奖_uu快3娱乐_输钱

    那为那先 循环分配机制对于TempDB地处多量文件时产生性能那先 的问题报告 呢?有如下几种后来:

    MVP Glenn Berry 有一篇博文里有查看sys.dm_os_wait_stats的DMV。这篇博文中都可不并能查到你的服务器造成阻塞最多的是因为着是那先 。后来你发现是PAGELATCH型等待的图片 ,让我使用这段脚一有4个查看是后来FPS,GAM还是SGAM争用造成的那先 的问题报告 。

    本系列文章是我在sqlskill.com的PAUL的博客看完的,可是误区都比较具有典型性和代表性,原文来自T-SQL Tuesday #11: Misconceptions about.... EVERYTHING!!,经过让让我们歌词 团队的翻译和下发发布在AgileSharp上。希望对让让我们歌词 有所帮助。

    当缓冲区可不并能通过LazyWriter释放可是空间时(TempDB的Checkpoint不需要做写回操作),多个TempDB文件有后来是因为着IO子系统的随机读写那先 的问题报告 ,这会是因为着IO方面的性能那先 的问题报告 。

    但让我困惑的是SQL CAT团队给出的建议可是1:1,但这人建议是源自扩展方面的原理来说,而就一有4个通用法则。后来让让我们歌词 所面对的大型客户数据量服务器和IO子系统就有大次要人没有后来遇到的。

    当你看完PAGELATCH类型的阻塞时,说明遇到内存中分配位图的争用那先 的问题报告 了。而看完PAGEIOLATCH,说明遇到I/O子系统层面的争用那先 的问题报告 了。对于闩锁(Latch)让我将其看作和普通锁是四种 东西,但更轻量,更短,可是只会被存储引擎内部内部结构使用。

    不过这可是能一概而论。上周我遇到一有4个那先 的问题报告 ,一有4个客户的TempDB负载大到可不并能3一有4个CPU配上6一有4个TempDB文件并能减轻闩锁争用。这与否是因为着着这是一有4个最佳实践呢?当然就有。

    TempDB的文件大小不一致,则有后来是因为着某个单独文件的自动增长,从而造成热点IO。

    每个实例仅仅允许一有4个TempDb,但可不并能用到TempDB的地方却有可是,可是TempDB很容易成为性能瓶颈,我要我让让我们歌词 数人都了解这人点,而大多数人所不了解的应该是在那先 情況下才可不并能额外的TempDB文件。

    循环分配算法是针对文件组而言,而对于TempDB只能地处一有4个文件组。当这人文件组所含16或3一有4个文件时,后来循环分配算法的守护任务管理器有限,但对于多量文件的TempDB依然可不并能做可是额外的同步工作,可是这次要工作会造成性能损失

误区 #12:TempDB的文件数和可不并能和CPU数目保持一致

    可是这人确定让我进亦忧,退亦忧。到底几个TempDB文件才是至少的呢?我可是能让我具体答案,可是基于我多年咨询经验以及出席各种大会的经验,我要我让我一有4个指导方针---当为了出理 闩锁争用时为TempDB创建多个文件要小心,仅仅在可不并能情況下才额外增加TempDB文件。也就没有你可不并能在可扩展性和性能之间取得一有4个平衡。

    那你或许有那先 的问题报告 ,为那先 1:1的比例不好呢,那是后来不多的TempDB有后来引起一有4个性能那先 的问题报告 。后来你的一条查询中可是操作(比如排序)可不并能使用多量的内存,但内存匮乏时,就可不并能将那先 内容分配到TempDB中。当地处多个TempDB文件时,后来TempDB的循环分配机制,这有后来是因为着性能被离开,对于比较大的临时表也是没有。

    PS:组阁 可是评论:TempDB的文件没有必要分布在多个存储器之间。后来你看完PAGELATCH类型的等待的图片 ,即使你进行了分布可是会改善性能,而后来PAGEIOLATCH型的等待的图片 ,或许你可不并能多个存储器,但这也就有必然-有后来你可不并能讲整个TempDB迁移到一有4个存储系统,而就有仅仅为TempDB增加一有4个文件。这可不并能你仔细分析后再做定夺。

分类: SQL Server DBA误区

    [题外话:在SQL PASS 2011我的好让让我们歌词 Bob Ward,也是SQL CSS最牛的人。给出了一有4个新的公式:后来CPU核数小于等于8,使其比例保持在1:1,而后来CPU核数大于8,使用8个文件,当你发现闩锁争用那先 的问题报告 时,每次额外加一有4个文件]

    后来你遇到闩锁争用,都可不并能通过跟踪标记1118或是多建一有4个TempDB文件来缓和这人情況(原理都可不并能在知识库KB 328551查到),我后来写了一篇关于为那先 追踪标记1118依然被可不并能的长博文,链接:Misconceptions around TF 1118。

    希望中间的指导方针对你有帮助。

本文转自CareySon博客园博客,原文链接http://www.cnblogs.com/CareySon/archive/2012/10/29/2744190.html,如需转载请自行联系原作者

    哎,后来上述误区是微软“官方”的建议,可是还有多量博文坚持这人观点,这人误区后来是老生常谈。

    在SQL SERVER 10000时代,TempDB的文件数可不并能和CPU核数保持1:1的关系,在SQL SERVER 10005和10008版本这条建议也适用,但后来SQL SERVER 10005+后的优化最好的办法(完整性请看我的博文),你不再可不并能严格按照1:1的比例关系设置CPU核数和TempDB文件数,可是文件数和CPU核数的比例保持在1:2或是1:4就行了。

错误