你们好,欢迎来到性能调优培训的最后一个月。在过去的5个月里,咱们谈了SQL Server的各类性能相关的话题,包括性能调优的技术和问题。html
但当在你面前,SQL Server没有按你预想的运行时,你会怎么办?为了帮你处理这个状况,今天咱们会谈到下性能监控技术,下周咱们会详细谈到SQL Server里所谓的等待统计(Wait Statistics)。如今开始咱们的性能监控。工具
不少人坐在他们的SQL Server前,知道它的性能很是差,殊不知道如何找出潜在的根源,也不知道如何解决它。对这个问题,个人答案很是简单:监控并收集当前状况的信息,和你的基线(baseline)比较,识别出最突出的性能瓶颈。是的,你没听错:你须要创建基线来识别性能问题,否则的话就是在瞎猜。下图显示了在创建的基线上,在SQL Server里,一个很是简单的识别并解决性能问题的方法。性能
这个方法的思路很是简单。在第1步里你须要收集一些SQL Server的关键指标。这些关键指标做为你的初始基线。在下一部分我会谈下你应该收集的关键指标。在你创建了你的基线后,你能够开始在抓取的数据里识别最多见的性能问题。在下一部分你会看到,有一些免费的工具,能够用它来自动完成这个操做。测试
最后,你一次只作一个修改来解决识别出来的性能问题。你没有看错:对你要解决的识别出来的性能问题,你应该只应用一个修改到你的SQL Server。若是一次修改太多,你就不能确认,哪一个修改解决了你的性能问题,还有哪一个修改损害了你的性能。这对性能故障排除很是重要!spa
在你应用你的改变后,你能够再次测试下你的关键指标,和你创建的基线来验证下你的修改是好仍是坏。在这一步你收集的心的关键指标,能够做为你新的基线。很简单,是否是?惟一你要意识到的是你要定义一个放行准则(exit criteria)。在SQL Server里,你能够反复经过这个循环。所以你要定义对于你的SQL Server,何时的性能才是“足够好”。code
当咱们讨论创建基线时,总会有个问题,你应该包含哪些关键指标?对于SQL Server,有太多不一样的相关性能计数器,SQL Server自己也对它的健康情况提供不少相关数据的不一样DMV。由于不想让事情变得复杂,在第一步我只抓取一些东西来得到SQL Server健康状态的大体状况。htm
如今我想谈下这些性能相关的计数器,下周咱们会详细谈下等待统计和I/O延迟统计信息。为SQL Server抓取相关的性能计数器很是简单:你使用微软提供的免费工具PAL。blog
PAL工具为SQL Server提供专门的模板,在模板里你能够找到针对SQL Server的全部相关的性能计数器。能够经过设定新的所谓的数据收集(Data Collection)来直接导入模板文件到Windows性能监视器。所以你能够在1分钟内就能够配置好SQL Server相关的性能计数器!部署
PAL工具另外一个优势是:用它你能够自动分析Windows性能监视器抓取的.blg文件。做为输出,你会获得一个很大的HTML报表,告诉你在哪方面你可能有性能问题。下图来自这个报表的简单图例。get
当我进行性能调优时,第一步老是配置Windows性能监控数据收集,而后我会对它分析好几个小时。专一于分析,把力气花在这上面是个很是好的想法。
今天咱们详细谈了针对可能的性能问题,你如何监控你的SQL Server。这里最重要的一点是你要创建一个基线的事实。有了基线,就很容易判断部署的修改是好仍是坏。没有基线,你只能瞎猜修改是否是有用的,仍是没用的。
在第2部分咱们介绍了微软提供的免费工具PAL。使用PAL工具很容易在Windows性能监视器里配置一个数据收集,用来抓取SQL Server性能相关的计数器。另外你也能够用这个工具来自动分析抓取的性能计数器。下周咱们会详细看下SQL Server里等待和I/O延迟统计信息。
请继续关注!