SQLSERVER性能监控级别步骤
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性能监控级别步骤的更多相关文章
- 对SQLSERVER进行性能监控
对SQLSERVER进行性能监控 在上一篇文章<SQLSERVER性能监控级别步骤>里说到性能监控的步骤中有一步涉及到建立性能基线,但是没有说到有哪些计数器 可以用来进行监控的,这篇文章结 ...
- SQLServer性能优化之---数据库级日记监控
上节回顾:https://www.cnblogs.com/dotnetcrazy/p/11029323.html 4.6.6.SQLServer监控 脚本示意:https://github.com/l ...
- 第四章——SQLServer2008-2012资源及性能监控(1)
原文:第四章--SQLServer2008-2012资源及性能监控(1) 性能优化的第一步是发现问题,而发现问题通常又有两类:突发问题的侦测和常规问题的侦测,对于常规问题的侦测,通常需要有一个长效的性 ...
- SQL Server添加MDW性能监控报表(转载)
10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...
- 第四章——SQLServer2008-2012资源及性能监控(3)
原文:第四章--SQLServer2008-2012资源及性能监控(3) 本文为本系列最后一章,监控内存使用.监控服务器的内存是非常重要的事情,有很多情况会引起内存消耗.所以要经常性地做检查. 本文将 ...
- 第四章——SQLServer2008-2012资源及性能监控(2) .
原文:第四章--SQLServer2008-2012资源及性能监控(2) . 本文接着上文继续,讲述如何监控CPU的使用情况 前言: CPU是服务器中最重要的资源.在数据库服务器中,CPU的使用情况应 ...
- 性能调优之Java系统级性能监控及优化
性能调优之Java系统级性能监控及优化 对于性能调优而言,通常我们需要经过以下三个步骤:1,性能监控:2,性能剖析:3,性能调优 性能调优:通过分析影响Application性能问题根源,进行优化 ...
- Go 程序的性能监控与分析 pprof
你有没有考虑过,你的goroutines是如何被go的runtime系统调度的?是否尝试理解过为什么在程序中增加了并发,但并没有给它带来更好的性能?go执行跟踪程序可以帮助回答这些疑问,还有其他和其有 ...
- 【性能监控-Perfmon工具】Perfmon工具使用教程
一.Perfmon工具简介 Perfmon是一款Windows自带的性能监控工具,提供了图表化的系统性能实时监视器.性能日志和警报管理.通过添加性能计数器可以实现对CPU.内存.网络.磁盘.进程等多类 ...
随机推荐
- App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.-解决办法
运行环境:Xcode Version 7.3.1 (7D1014) 使用NSURL进行数据请求数据代码: -(NSData *)requestData{ NSURL *url = [NSURL URL ...
- 【转】Java日期计算之Joda-Time
Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time.可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成. http:// ...
- 4.openssl passwd
该伪命令用于生成加密的密码. [root@xuexi tmp]# whatis passwd ) - update user's authentication tokens ) - password ...
- ecshop 商品页面添加商品标签:
/* @脚垫客户 需要给商品加属性.最简单粗暴的办法.后台调用加入.界面没有美化. */ goods.dwt <ul class="quantity"> <h2& ...
- [主页]大牛系列01:Microsoft Research的Johannes Kopf
时间:2015.11.21 版本:初稿 -------------------------------------------------------------------------------- ...
- Linux socket 获得本地IP和广播地址
#include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <netine ...
- 利用js对象的特性,去掉数组中的重复项
- openLDAP
错误提示: D:\OpenLDAP>slapd -d 256 515a48ae OpenLDAP 2.4.34 Standalone LDAP Server (slapd)515a48af co ...
- myeclipse中Web App Libraries无法自动识别lib下的jar包
在项目目录下找到.object文件修改 <natures> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature ...
- to_char 详解
对TO_CHAR的讨论可以分为从两种类型的数据到字符的转换:DATE和NUMBER. TO_CHAR函数返回VARCHAR2数据类型的值. 1. NUMBER TO CHAR 语法: TO_CHAR( ...