SQLSERVER性能监控级别步骤

下面先用一幅图描述一下有哪些步骤和顺序

1、识别瓶颈

识别瓶颈的原因包括多个方面,例如,资源不足,需要添加或升级硬件;

工作负荷在同类资源之间分布不均匀,例如,一个磁盘被独占;资源发生故障;资源配置不正确等

可能存在瓶颈以及对系统的影响

可能的瓶颈方面

对服务器的影响

内存使用

分配内存不足或SQLSERVER使用内存不足导致性能下降

CPU使用率

长期的高CPU使用率可能表明TSQL查询需要优化或CPU需要升级

磁盘输入/输出I/O

可以优化TSQL查询以减少不必要的I/O(例如:使用索引)

用户连接

可能有太多用户同时访问服务器,从而导致性能下降

阻塞锁

应用程序设计不合理阻塞妨碍并发,带来更长的响应时间

2、监控级别

SQLSERVER提供了多种性能监控工具,可以使用他们来仔细检查性能的不同方面,以不同的细致程度帮助用户确定故障区域,

逐级逐步找到影响性能的最大因素

(1)系统级监控 --应当首先查看系统级信息,确认系统资源(硬件)、网络体系结构对性能的影响,可以使用Windows应用程序日志,

Windows系统监视器进行监控

(2)数据库级监控 --在进行系统监控后,还需要监控数据库活动。使用SSMS中的活动监视器、SQLSERVER事件探查器和系统存储过程监控锁、

用户连接数目

(3)客户端应用程序监控 --最后,仔细检查和评估特定的查询的性能。使用SQL profiler 和系统视图检查对索引的使用情况、

查询所需CPU时间和磁盘I/O操作

3、建立性能基线

当确定了性能监控中所涉及的资源、负载和目标后,开始进行监控,并建立性能基线与当前服务器性能进行比较。

性能基线是一个保证系统正常操作性能范围值,达到或超过这个范围,系统性能可能会显著下降。

应该对接近或超过性能基线的数字做进一步调查找出原因监控的周期是一段时间,而不是一两天。

其中应该包括数据库活动的峰值时间和非峰值时间,数据查询和批处理命令的响应时间、数据库备份和还原所需时间

建立服务器性能基线后,将基线统计与当前服务器性能进行比较。对高于或远低于基线的数字需要做进一步调查。

他们可能表明有需要调整或重新配置的区域。例如,执行一组查询的时间增加,检查这些查询以确定能否重新编写他们,

或者是否添加统计信息或索引

4、确认用户活动

监视用户活动有助于确定趋势,例如,用户运行的事务类型,运行的低效即席查询的数量和占用资源最多的事务类型。

若要收集有关用户的统计信息,请使用SQLSERVER PROFILER 或系统监视器SSMS活动监视器用于对SQLSERVER进行即席监视,

从而确定用户在系统中的活动

5、隔离性能问题

通常同时使用多个SQLSERVER或Windows工具比一次只用一个工具隔离数据库性能问题更有效。

例如,图形执行计划功能(也称为“显示计划”)可以迅速识别单个查询中的死锁。

然而,如果同时使用SQLSERVER和Windows的监视功能,将更容易识别某些其他性能问题

通过对这些工具的灵活运用进行逐个性能问题的排查,而不是同时开启SQL PROFILER 和Windows性能监视器

通过工具能够监控与应用程序有关的问题包括:

(1)SQLSERVER存储过程或用户提交的TSQL语句

(2)用户活动(如阻塞或死锁)

(3)硬件活动(如磁盘使用)

(4)应用程序开发错误

(5)硬件错误(如磁盘错误,网络错误)

(6)由于数据库设计不正确导致过多阻塞

---------------------------------------------------华丽的分割线-------------------------------------------------------

Windows性能监视器:perfmon.exe

SQLSERVER PROFILER

SSMS

如有不对的地方,欢迎大家拍砖o(∩_∩)o

SQLSERVER性能监控级别步骤的更多相关文章

  1. 对SQLSERVER进行性能监控

    对SQLSERVER进行性能监控 在上一篇文章<SQLSERVER性能监控级别步骤>里说到性能监控的步骤中有一步涉及到建立性能基线,但是没有说到有哪些计数器 可以用来进行监控的,这篇文章结 ...

  2. SQLServer性能优化之---数据库级日记监控

    上节回顾:https://www.cnblogs.com/dotnetcrazy/p/11029323.html 4.6.6.SQLServer监控 脚本示意:https://github.com/l ...

  3. 第四章——SQLServer2008-2012资源及性能监控(1)

    原文:第四章--SQLServer2008-2012资源及性能监控(1) 性能优化的第一步是发现问题,而发现问题通常又有两类:突发问题的侦测和常规问题的侦测,对于常规问题的侦测,通常需要有一个长效的性 ...

  4. SQL Server添加MDW性能监控报表(转载)

    10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...

  5. 第四章——SQLServer2008-2012资源及性能监控(3)

    原文:第四章--SQLServer2008-2012资源及性能监控(3) 本文为本系列最后一章,监控内存使用.监控服务器的内存是非常重要的事情,有很多情况会引起内存消耗.所以要经常性地做检查. 本文将 ...

  6. 第四章——SQLServer2008-2012资源及性能监控(2) .

    原文:第四章--SQLServer2008-2012资源及性能监控(2) . 本文接着上文继续,讲述如何监控CPU的使用情况 前言: CPU是服务器中最重要的资源.在数据库服务器中,CPU的使用情况应 ...

  7. 性能调优之Java系统级性能监控及优化

    性能调优之Java系统级性能监控及优化   对于性能调优而言,通常我们需要经过以下三个步骤:1,性能监控:2,性能剖析:3,性能调优 性能调优:通过分析影响Application性能问题根源,进行优化 ...

  8. Go 程序的性能监控与分析 pprof

    你有没有考虑过,你的goroutines是如何被go的runtime系统调度的?是否尝试理解过为什么在程序中增加了并发,但并没有给它带来更好的性能?go执行跟踪程序可以帮助回答这些疑问,还有其他和其有 ...

  9. 【性能监控-Perfmon工具】Perfmon工具使用教程

    一.Perfmon工具简介 Perfmon是一款Windows自带的性能监控工具,提供了图表化的系统性能实时监视器.性能日志和警报管理.通过添加性能计数器可以实现对CPU.内存.网络.磁盘.进程等多类 ...

随机推荐

  1. C++中调用Python脚本

    C++中调用Python脚本的意义就不讲了,至少你可以把它当成文本形式的动态链接库, 需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了 先看Python的代码 代 ...

  2. MyBatis复习

    一.对JDBC的总结 1.数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能. 解决方案:使用数据库连接池管理数据库连接. 2.将sql语句硬 ...

  3. linux在yum下安装mysql

    1:查看软件是否安装 yum list installed | grep mysql 2:卸载CentOS系统自带mysql数据库 yum -y remove mysql-libs.x86_64,若有 ...

  4. BCB中获得RichEdit 默认行间距

    首先,这些功能支持RichEdit2.0 以上功能: 其次,用常规的方法是无法获得LineSpace 的: 你使用 EM_GETPARAFORMAT也得不到,你会发现dyLineSpacing 的值永 ...

  5. 并查集(HDOJ 1856)

    并查集   英文:Disjoint Set,即“不相交集合” 将编号分别为1…N的N个对象划分为不相交集合, 在每个集合中,选择其中某个元素代表所在集合. 常见两种操作: n       合并两个集合 ...

  6. 英语语法 It all started the summer before second grade when our moving van pulled into her neighborhood

    It all started the summer before second grade when our moving van pulled into herneighborhood It all ...

  7. DIOCP之注册编码解码器与ClientContext

    FTcpServer.registerCoderClass(TIOCPStreamDecoder, TIOCPStreamEncoder);//注册编码器与解码器 FTcpServer.registe ...

  8. 学习笔记008之Task

    栈 为后进先出 如何实现一个弹出窗体.

  9. [2015hdu多校联赛补题]hdu5302 Connect the Graph

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5302 题意:给你一个无向图,它的边要么是黑色要么是白色,且图上的每个点最多与两个黑边两个白边相连.现在 ...

  10. setAttribute()和getAttibute(),getParameter()

    request.setAttribute("key",value)方法给主键设置一个值, request.getAttribute("key")方法从上述设置的 ...