第四章——SQLServer2008-2012资源及性能监控(1)
原文:第四章——SQLServer2008-2012资源及性能监控(1)
性能优化的第一步是发现问题,而发现问题通常又有两类:突发问题的侦测和常规问题的侦测,对于常规问题的侦测,通常需要有一个长效的性能监控作为依据。
本系列文章介绍
前言:
当由于劣质的查询写法、缺失必要的索引或者数据库级别的其他情况所导致的性能问题时,可以通过使用执行计划、DMVs/DMFs、SQL Trace或者数据库引擎顾问(DTA)这些手段来查找问题的根源。
但是,如果性能问题发生在硬件或者操作系统级别(如CPU/内存/IO/网络问题等),就要使用一些复杂的工具来协助你找到性能问题。因为这些进程运行在操作系统层面。
对于Windows server 2008R2、Windows 7这类新的操作系统,可以使用一个叫性能监视器(Performance Monitor),也叫可靠性和性能监视器(Reliability
and Perfomance Monitor)来实现更有效的监控。
在Windows中,有三个工具可以用来监控性能:
1、
资源监视器(Resource Monitor)
2、
性能监视器(Perfomance Monitor)
3、
可靠性监视器(Reliability Monitor)
资源监视器提供一个快速、实时及图形化界面来显示包括CPU、内存、I/O和网络使用情况的信息,可以监视和检查所有当前运行在机器上的进程的这部分信息。并可以通过这个工具来结束你认为对性能有潜在风险的进程。
性能监视器提供实时性能监控的图形化界面工具,可以使用上百种性能计数器来跟踪性能数据。并把数据存放到文件中供进一步分析所用。
可靠性监视器同样提供图形化界面,通过计算系统一段时期内的稳定性索引,来分析系统的稳定程度。任何的问题都会降低这些系统稳定性索引。
这三种工具公用一个接口——微软管理控制台(MMC),可以合起来查看。可靠性和性能监视器合成了这三个工具的的所有功能。
在本系列文章中,将熟悉资源监视器、可靠性和性能监视器,并演示如何使用这些工具来检查和监控硬件资源的性能。
监视服务器性能
当用户反应SQLServer所在的服务器响应速度非常慢时,将优先使用什么工具来快速查看服务器性能?
在过去,可能会使用任务管理器来实现,但是在今天,可以使用更强大的工具来查看服务器资源。也就是资源监视器。
本文将给出一个如何使用资源监视器来监控硬件资源及服务器性能的快速入门。
准备工作:
1、
开发版或者企业版的SQLServer2008、2012。
2、
安装在Windows操作系统上的资源监视器。从Windows Server 2008R2或者Windows7以后才出现。
3、
微软示例数据库AdventureWorks。
演示步骤:
1、
打开资源监视器,方法:在【运行】中输入resmon.exe或者用快捷键Windows+R来输入。
2、
通过下图可以看到资源监视器有5个选项页。第一个为概述页。可以查看服务器的整体性能。
3、
如果想查看SQLServer服务所使用的CPU情况,可以点击第二个选项页【CPU】,并找到进程名为:sqlservr.exe的那一行。点击第一个窗口之后,下面的窗口会显示出相应的资源。如图:
4、
如果想查看SQLServer使用的内存情况,可以使用步骤3中的方法,在第三个选项页【内存】中查看,如图:
5、
如果要检查服务器上活动的磁盘I/O,可以选择选项页【磁盘】,因为在前面已经选择了sqlservr.exe进程,所以这个页面显示的将会是SQLServer服务所引起的I/O活动。可以连到SSMS中,输入以下脚本:
USE AdventureWorks
GO
SELECT *
FROM Sales.SalesOrderDetail WITH ( NOLOCK )
GO
6、
马上切换回资源监视器。将会看到有I/O操作作用于AdventureWorks数据库文件上,如图:
分析:
本文中直观地展示了资源监视器的使用,资源监视器提供了CPU、内存、磁盘IO、网络方面的资源使用情况信息,它分成5个部分来展示相关信息:
1、 概述:提供了其他4个选项页中包含的服务器资源信息。当你发现产生性能问题的进程后,可以从这里结束掉。
2、CPU:这个选项页提供CPU使用的百分比信息,也显示在概述页中显示的每个进程的详细CPU信息。并可以看到对应进程的服务、关联句柄及关联模块。在右边,还能看到试试的图形化的所有可用CPU的实时情况。如果你找到CPU使用率非常高,就应该检查是什么使用着这些CPU资源。
3、内存:这个选项页显示内存使用情况。可以找到系统有多少内存、多少内存已经在使用、多少内存空闲。还提供了每个进程的内存消耗情况。资源监视器的最大优势是可以通过勾选特定进程来获取相应的资源信息。
4、磁盘:这个选项页是显示各个进程对应的磁盘I/O活动,通过Read(B/Sec)和Write(B/Sec)列,可以看到特定进程的IO情况。同时也可以看到某些文件上的IO活动。右边显示当前IO的实时情况。
5、 网络:显示出当前网络使用情况。可以看到所有TCP连接所对应的不同的进程,也可以筛选特定进程。
扩展信息:
通过使用资源监视器,可以快速定位消耗硬件资源的进程。同时可以查看网络方面的瓶颈。在SQLServer生产环境中,如果你发现某些进程、应用程序耗费的资源比SQLServer还多,并已经影响到SQLServer的性能,你可以考虑把这些经常或者应用程序移到别的服务器,以使得SQLServer的性能不会收到太大的影响。
第四章——SQLServer2008-2012资源及性能监控(1)的更多相关文章
- 第四章——SQLServer2008-2012资源及性能监控(3)
原文:第四章--SQLServer2008-2012资源及性能监控(3) 本文为本系列最后一章,监控内存使用.监控服务器的内存是非常重要的事情,有很多情况会引起内存消耗.所以要经常性地做检查. 本文将 ...
- 第四章——SQLServer2008-2012资源及性能监控(2) .
原文:第四章--SQLServer2008-2012资源及性能监控(2) . 本文接着上文继续,讲述如何监控CPU的使用情况 前言: CPU是服务器中最重要的资源.在数据库服务器中,CPU的使用情况应 ...
- 第四章——SQLServer2008-2012资源及性能监控(1)专家
http://blog.csdn.net/dba_huangzj/article/details/8614817
- 第四章 Hyper-V 2012 R2 网络配置
尼玛的我不高兴写了,所以下面的文档我直接把原来的pdf给转换出来,加了点自己的注解,我写的话会写自己觉得终于的章节. 在搭建虚拟化平台时,网络的虚拟化是一个非常重要的环节,如何保障网络的持续可用并 ...
- 【TCP/IP详解 卷一:协议】第二十四章 TCP的未来与性能
来到了TCP的最后一个章节,未来与性能.在当时(1991年)的未来,如今已经部分变为现实,部分就只是历史中的实验. 主要内容: 路径MTU的发现与TCP的结合. 长肥管道 和 高速千兆比网络. 窗口扩 ...
- SQLServer2008-2012资源及性能监控—CPU使用率监控具体解释
前言: CPU是server中最重要的资源.在数据库server中,CPU的使用情况应该时刻监控以便SQLServer一直处于最佳状态. 本文将会使用可靠性和性能监视器来获取CPU相关的使用统计信息 ...
- Python--Redis实战:第四章:数据安全与性能保障:第7节:非事务型流水线
之前章节首次介绍multi和exec的时候讨论过它们的”事务“性质:被multi和exec包裹的命令在执行时不会被其他客户端打扰.而使用事务的其中一个好处就是底层的客户端会通过使用流水线来提高事务执行 ...
- 【WPF学习】第三十四章 资源基础
WPF允许在代码中以及在标记中的各个位置定义资源(和特定的控件.窗口一起定义,或在整个应用程序中定义). 资源具有许多重要的优点,如下所述: 高效.可以通过资源定义对象,并在标记中的多个地方使用.这会 ...
- 《Linux内核设计与实现》读书笔记 第四章 进程调度
第四章进程调度 进程调度程序可看做在可运行太进程之间分配有限的处理器时间资源的内核子系统.调度程序是多任务操作系统的基础.通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发执行的 ...
随机推荐
- pcie inbound、outbound及EP、RC间的互相訪问
Inbound:PCI域訪问存储器域 Outbound:存储器域訪问PCI域 RC訪问EP: RC存储器域->outbound->RC PCI域->EP PCI域->inbou ...
- oracle之spool详细使用总结(转)
今天实际项目中用到了spool,发现网上好多内容不是很全,自己摸索了好半天,现在总结一下. 一.通过spool 命令,可以将select 数据库的内容写到文件中,通过在sqlplus设置一些参数,使得 ...
- Android 照相功能
使用内置的Camera 应用程序捕获图像 探索Android 所提供的内置功能,内置的图像捕获与存储功能为Android 上全部媒体功能提供了一个非常好的切入点,为我们在以后的章 ...
- HDU 3177 Crixalis's Equipment(贪婪)
主题链接:http://acm.hdu.edu.cn/showproblem.php? pid=3177 Problem Description Crixalis - Sand King used t ...
- 潜水JVM
原文地址:http://blog.jamesdbloom.com/JVMInternals.html(转载请注明出处和本文地址英文原文) 本文简要解析JVM的内部结构.下图显示了一个典型的一块JVM( ...
- C#遍历FTP文件夹/下载
原文链接:http://blog.csdn.net/ou8811/article/details/5295780 整个程序大致可以分为2个部分,第一部分是实现单个文件下载的方法 [c-sharp] v ...
- 令人无限遐想的各种PCIe加速板卡
声明 本文不涉及不论什么特定API,也不针对不论什么特定的厂商,可是仍然值得透露一点的是,某些加速板卡厂商的成功点和失败点恰恰都是在于其通用性,在这个人们依旧依赖专业板卡的时代,依旧将板卡视为解决专业 ...
- 修改easyui datebox默认日期格式
问题描述: 根据jquery easyui datebox demo中给的示例,导入和使用datebox, 发现日期格式为: 6/22/2011, 其他的今天和关闭也是 Today, Close, 对 ...
- aspx向silverlight传值
原文:http://www.cnblogs.com/lensso/archive/2010/07/27/1785844.html 方法1: 向嵌入aspx页面的silverlight对象添加imnit ...
- 用golang写的生成文件md5sum,检验文件md5sum
源代码地址: https://github.com/sndnvaps/md5sum-golang