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. shell字符串判空

    主要用到两个命令 -n  -z if [ -n "$PID" ]; then echo "PID is not empty" fi if[ -z "$ ...

  2. maximo功能修改(初步理解)

    已接触IBM公司的MAXIMO近三个月,在这时间里自己对maximo也有所了解,今天将自己总结写在这里,方便自己的温习和大家的参考,不足之处还望指出,我一定在第一时间内修改. 今天在公司所做的就是完善 ...

  3. web项目启动报错Unknown character set: 'utf8mb4' in mysql

    网上一查,有的说是mysql驱动的问题,有的说创建数据库的时候指定utf8编码,换了各种mysql版本,最后换了5.1.6版本的mysql驱动后成功启动!问题解决!OMG

  4. 函数的定义和声明以及this

    this = $(this)[0]; var person = { name : "lisa", age : "20", init : function(){ ...

  5. Java多线程断点下载

    public static class DownloadThread extends Thread{ private int threadId; private int startIndex; pri ...

  6. 高频交易策略之Penny Jump[z]

    高频交易策略之Penny Jump 今天假设有一个笨笨的大型机构投资人(共同基金,银行,退休基金....),他想要买进一只股票,但又不想挂市价买进,所以就在市场里面挂了一张要买进的大单.这时候所有市场 ...

  7. oracle系统表查询

    oracle查询用户下的所有表 select * from all_tab_comments -- 查询所有用户的表,视图等select * from user_tab_comments -- 查询本 ...

  8. 让IE8支持HTML5及canvas功能!chart.js图表绘制工具库IE8上兼容方案

    第一步,我们加上对html5的支持. <!--[if IE]> <script src="/public/html5.js" type="text/ja ...

  9. Java关键字:transient,strictfp和volatile简介

    关键字:transient 使用对象:字段 介绍:transient说明一个属性是临时的,不会被序列化. 当对象进行序列化(Serializable)过程时候,有一些属性的状态是瞬时的,这样的对象是无 ...

  10. 将asp.net页面弄成伪静态

    在Web.config中写: <RewriterConfig>     <Rules> <RewriterRule>         <LookFor> ...