SQL Server Performance Dashboard Reports

SQL Server Performance Dashboard Reports,第1张

SQL Server Performance Dashboard Reports是一组Reporting Services的报表,和SQL Server Management Studio中所介绍的报表一起使用。


这些报表允许数据库管理员快速地确定他们的系统中是否存在瓶颈,瓶颈是否正在发生,捕获这些附加的诊断数据可能会对解决

SQL Server Performance Dashboard Reports是一组Reporting Services的报表,和SQL Server Management Studio中所介绍的报表一起使用。


这些报表允许数据库管理员快速地确定他们的系统中是否存在瓶颈,瓶颈是否正在发生,捕获这些附加的诊断数据可能会对解决问题更有帮助。


例如,系统正在等待disk IO,这是Dashboard就允许用户可以快速地查看哪一个session,session中的哪一个查询计划,查询计划中哪一条语句最消耗IO。


Performance dashboard可以帮助解决一些普遍的性能问题,包括:

-CPU瓶颈问题(什么查询最消耗CPU)

-IO瓶颈问题(什么查询最消耗IO)

-由查询优化器产生的索引推荐方案(未使用索引)

-阻塞问题

-Latch竞争问题

SQLServer2005的性能工具Performance Dashboard是新添加到SQLServer2005的并在SP2发布之后不久就可用的一款扩展工具。


具体的安装参看 [原]安装SQL Server 2005 Performance Dashboard Reports的技巧。


SQL Server 2008/2008 R2/2012的Performance Dashboard报表可以从这里下载最新的工具包: Microsoft® SQL Server® 2012 Performance Dashboard Reports。


这些捕获到报表中的信息源于SQL Server的动态管理视图,它不需要额外的跟踪或数据捕获,信息一致可用,所以它是一个不怎么消耗资源的一种管理服务器的方法。


Reporting Services对于使用Performance Dashboard报表并不是必须要安装的。


1、下载 SQL Server 2008/2008 R2/2012的Performance Dashboard报表: Microsoft® SQL Server® 2012 Performance Dashboard Reports ,安装后在C:Program Files (x86)Microsoft SQL Server110ToolsPerformance Dashboard 下可以找到setup.sql和相关自定义报表。


SQL Server Performance Dashboard Reports,第2张

readme里头有安装的方法,帮助文件里头有具体的使用方法。


2、开启SSMS 执行setup.sql

SQL Server Performance Dashboard Reports,第3张

3、选择自定义报表performance_dashboard_main.rdl,载入后即可看到性能分析报表:

SQL Server Performance Dashboard Reports,第4张

Performance Dashboard不收集也不存储任何信息,香港虚拟主机,而是从SQL Server内部取出当前存在的数据。


正因如此,大量的数据都是从某一特定时间开始的,但是有时,你会看到一些历史数据,作为副产品来查看SQL Server如何工作。


历史数据很有限,但是很有用,我们之后会提到。


我之所以指出这个原因,是因为你必须手动的刷新Performance Dashboard来获取你SQL Server最新的活动快照。


这也很容易做,只要单击Performance Dashboard顶端的refresh按钮就可以了,就像下面这张图这样。


现在,我们看看一些Performance Dashboard的主要区域,看看他们能够告诉我们些什么。


主页面分五大区块。


1.查看CPU使用率,如果SQL Server CPU使用率长时间超过80%的话,可能须注意是否I/O造成CPU瓶颈(过度switch)。


System CPU Utilization

对于大多数DBA,System CPU Utilization(系统CPU使用率)图表非常有用。


你能看到至少15分钟的SQL Server的CPU活动情况,从SQL Server启动开始,每分钟一次更新。


但是,请注意,如果你刚启动SQL Server的服务,将没有CPU的活动图表,因为还未满15分钟,15分钟后,你会第一次看到这些数据。


而在这里还想强调的是,CPU的使用率并不是一个精确的数值,而是一个大约值,但是一个大约的值也已经足够了。


在下面的例子中,你会看到一个15分钟CPU数据,并且每次更新之后,这个图表依旧显示的是一段15分钟长的CPU活动的数据。


Performance Dashboard不仅提供了CPU使用状况的信息,还提供了许多其他的宝贵信息,我们来继续看一看。


2.查看目前请求所等待的类型,这里可以看出有那些资源竞争的情况(如果等待时间过长)。


SQL Server每秒执行成百上千的 *** 作,但它们并不是同时完成的。


也就是说,许多活动通常都需要短期的“等待”。


实际上,SQL Server利用数百种不同的等待状态来解决它们的复杂性。


作为一个DBA,我们的目标是将这种等待状态最小化。


等待状态越多,或者等待时间越长,性能就会越慢。


当等待状态达到正常值的时候,扩展的等待状态就不在需要,需要将这些状态鉴别和更正。


SQL Server利用各种DMV来跟踪这些等待状态,有趣的是,SQL Server还能收集一些自上次SQL Server服务重启开始的一些等待状态的历史数据,这些历史数据和当前的等待状态信息都是对DBA非常有用的。


在初始的Performance Dashboard屏幕中,你可能会看到下面的图标。


注意,只是“可能”看到。


这是因为这个图表显示的是Performance Dashboard上次刷新时的当前等待状态的信息。


很可能当时没有等待状态,如果如此,网站空间,那就不会再屏幕中出现这类图表。


3.查看目前活动相关信息,这里你可以快速看出快取击中率的数值(建议>90%)。


图中的User Requests和User Sessions,这些数据都是Performance Dashboard在上次更新时获取的。


另外,elapsed time(消逝时间)和cache hit ratio(缓存触发率)的值指的是之前的全部完成的请求的消逝时间总和。


点击蓝色的User Requests 或 User Sessions你可以看到下拉的信息。


当点击User Requests,你可以看到下图的信息,显示出上次更新时的当前用户请求。


(与之前的部分图一样,为了省略显示,这张图被截断,真实的图标有更多的信息。


当你点击User Sessions时,你可以看到下列的报表:

这个报表与Management Studio的Current Activity显示的信息比较相似,但它能提供更多的信息。


(同样,这个报表也是被截断的,真实的报表比这更长。


4.查看相关历史信息,这里的数据我认为相当有价值,可以看出I/O Read/Writes状况,以及何种等待类型最多。


还有可以找出最耗时的查询(依CPU、运行时间...等)。


虽然Performance Dashboard并不收集历史数据,但是一些SQL Server的DMV是收集的,我们可以看下图,这些是利用DMV的数据显示出的历史数据:Waits, IO Statistics, 和 Expensive Queries。


Waits

这个报表显示了一个自SQL Server实例重新启动开始发生的所有等待状态的一个历史数据的快照。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/495440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018-06-03
下一篇 2018-06-03

发表评论

登录后才能评论

评论列表(0条)

保存