作为DBA,每个人都会用一系列计数器来监视SQLSERVER的运行环境,使用计数器,既可以衡量当前的数据库的性能,还可以和以前的性能进行对比。我们也可以一直以快速和简单的方法把计数器做了一张图表来识别数据库的性能的变化情况,来分析数据库性能的趋势。

  下面是我常用的前10位的SQL Server计数器,严格的来说,它们没有特定的顺序。对于每一个计数器,我将尽可能所描述的是什么,在某些情况下,我也会说说这些计数器的理想值。这样可以参考用于衡量自己的数据库的指标情况。

1. SQLServer: Buffer Manager: Buffer cache hit ratio (SqlServer缓冲管理器:缓冲区高速缓存命中率 )

  高速缓存命中率计数器,表示SQL Server接受命令查询所需的数据页恰好在高速缓存中的概率,如果在高速缓存中查找不到,则数据页要重新到磁盘或者其它地方获取。这个数值越高,表示SQL Server能够从缓存中获得的数据概率越高,而不是再从磁盘读取。这个数值理论上是越高越好,接近到100.有了这100,100%的时间在SQL Server的内存中找到了需要的数据页,那么性能一直很高。如是是一个很低的数值可能表明内存方面有问题,最有可能是内存不足。

2. SQLServer: Buffer Manager: Page life expectancy (SqlServer缓冲管理器:页寿命)

  页寿命表示页在缓存中存放的时间。页面停留的时间越长在内存中,那么下一次查询时,如果所需的页面还在缓存中,SQL Server将不再需要从磁盘读取。页寿命根据不同的服务器的基值不同,和内存大小有一定的关系,我们应该观察这个计数器,以确定数据库环境中正常基线是什么。有人统计了一下,低于300(或5分钟),说明我们的服务器内存不足。

3. SQLServer: SQL Statistics: Batch Requests/Sec (SqlServer统计:批请求/秒)

  批请求/秒是指SQL Server是每秒接收批处理的数量。这个计数器是可以查看我们的服务器处理速度。数字越大,表明我们的数据库处理查询的吞吐量越大。像许多计数器一样,没有一个单一的数字,可以说明服务器是太忙了。如今的服务器越来越强大,因此可以一刻不停的处理更多批次的请求。随着时间的推移,应该收集这个计数器,以确定我们的服务器环境基准数值是什么。

4. SQLServer: SQL Statistics: SQL Compilations/Sec (SqlServer统计:编译 /秒)

  编译/秒 是指SQL Server每秒编译执行计划的次数。编译一个执行计划是资源密集型操作,耗时比较长且申请的资源比较多。汇编/秒应该和批请求/秒同时观察,当两者同时发生时,以获取是否有并发症,对服务器有伤害。要做到这一点,可以使用 请示数/编译数=?来保持一个稳定的数值。理想的情况下,可以为每10批次一个编译的要求。

5. SQLServer: SQL Statistics: SQL Re-Compilations/Sec(SqlServer的:SQL统计:重编译/秒 )

  有时因为一些重要的事件发生时,导致执行计划失效,SQL Server将重新编译它。该重编译/秒表示每秒钟重新编译执行计划的次数,和编译一样,都是代价高昂的操作,所以应尽量减少重新编译次数。理想情况下我们要保留这个计数器小于编译/秒(上面第4项)的10% .

6. SQLServer: General Statistics: User Connections(SqlServer的:一般统计:用户连接 )

  用户连接计数器是指同一时刻连接到服务器的用户的数量。我们需要观察这个基线用户连接数,不同时间的用户数量是不同的,且有个高低区间。如果此计数器的值下降,并在系统上的负荷是相同的,那么可能有一个瓶颈,导致我们的服务器不能来处理的正常负荷,这个需要检查了。当然也要注意计数器的值下降也可能是因为连接的确少了的原因。

7. SQLServer: Locks: Lock Waits / Sec: _Total(SqlServer的:锁:锁等待/秒:所有 )

  为了使SQL Server来管理系统上的并发用户时,SQL Server需要经常锁定资源,有时长有时短暂。锁等待/秒是指每秒针系统等待恰好所申请的资源被锁定的次数。理想情况下我们不希望任何要求等待锁,因此,要保持这个计数器为零或接近零。

8. SQLServer: Access Methods: Page Splits / Sec(SqlServer的:访问方法:页拆分/秒 )

  这个计数器表示:当插入、更新数据时,由于原来的页不够存放了,需要进行分页动作,那么每秒种进行分析的次数,就是该指标,因为拆分时执行性能昂贵,除了IO操作外,还导致表碎片越来越多,表性能低下。因此,减少页拆分将有利于系统高效执行,需要进行合理的设计。理想的情况下,这个计数器应小于批请求/秒(上面第三项)的20% .

9. SQLServer: General Statistic: Processes Block(SqlServer的:一般统计:进程阻塞)

  进程阻塞计数器是指某一时刻进程阻塞的的个数。当一个进程因为申请的资源得不到释放时,这个进程被阻塞了,而其它依赖于同一个资源的进程都不能向前推进,最后导致阻塞的进程越来越多,要解决这个问题唯一的办法是直到其资源释放。理想情况下我们不希望看到任何阻塞的进程,当进程被阻止时应该深入调查。

10. SQLServer: Buffer Manager: Checkpoint Pages/Sec(SqlServer的:缓冲管理器:检查点页/秒 )

  检查点页/秒表示每秒写入到磁盘的确认检查的页数。我们应该根据自己的数据库生成一个基准曲线。一旦建立了基准曲线,我们可以看看它是否还在上升。如果此计数器一直在上升,这有可能是因为内存有问题,导致磁盘和内存的页面交换在频繁的进行。

转载于:https://www.cnblogs.com/china-chang/articles/8259196.html

SQL Server性能监视相关推荐

  1. collector_使用Data Collector进行SQL Server性能监视–第3部分–阅读报告

    collector first part of this article, we described Data Collector, its features and pre-defined coll ...

  2. sql server 内存_SQL Server内存性能指标–第1部分–内存页/秒和内存页故障/秒

    sql server 内存 SQL Server performance basics article, we explained why performance monitoring was imp ...

  3. SQL Server查询执行计划–基础

    为什么查询执行对SQL Server性能很重要? (Why is query execution important for SQL Server performance?) SQL Server性能 ...

  4. counters.dat_使用sys.dm_os_performance_counters对SQL Server问题进行故障排除

    counters.dat sys.dm_os_performance_counters (sys.dm_os_performance_counters ) sys.dm_os_performance_ ...

  5. 10.监视SQL Server性能

    数据库管理员的主要责任之一是持续监视SQL Server性能.之所以要进行监视,原因 有多种,包括性能.存储状态.安全性和标准符合程度等.虽然很多此类监视可以自动完 成,但在大多数情况下,数据库管理员 ...

  6. SQL Server内存性能监视工具

    内存压力使查询变慢 (Memory pressure slowing down queries) This article is the sequel in a series about SQL Se ...

  7. Sql Server 2005 服务器性能监视[转]

    1.作用: 为提高服务器性能提供充分的依据 评估用户活动 解决或者预防问题 2.步骤: 确定监视目标 确实监视工具 标示要监视的组件 选择监视组件的度量指标 监视服务器 分析数据 服务器监视 在服务器 ...

  8. SQL Server DBA工作内容详解

    原文:SQL Server DBA工作内容详解 在Microsoft SQL Server 2008系统中,数据库管理员(Database Administration,简称为DBA)是最重要的角色. ...

  9. [SQL Server优化]善用系统监视器,确定系统瓶颈

    原文: [SQL Server优化]善用系统监视器,确定系统瓶颈 来自: http://hi.baidu.com/solorez/blog/item/f82038fa0e71b78d9e51468c. ...

最新文章

  1. java中sql去除游标_java.sql.SQLException:-ORA-01000:已超过最大打开游标
  2. zoj - 2112 带修改主席树 + 空间优化
  3. PRISM概率模型检测器初使用--骰子模型(改进版)
  4. Linux给GCC编译的应用程序创建服务
  5. post和get两种提交方式的区别
  6. wp8安装SSL证书
  7. 在阿里云主机的Debian操作系统上安装Docker
  8. OpenGL超级宝典第5版基础渲染
  9. Django 1.8.2 文档 1
  10. 2021-06-20 表单详解
  11. c语言中isupper用法,C 库函数 isupper() 使用方法及示例
  12. 计算机中冰点还原快捷键,冰点还原软件如何使用,教您如何使用冰点还原软件...
  13. 一看就会 PicGo+gitee+Tyora个人图库搭建
  14. 10、I/O 输入输出流
  15. miniUI打印(miniUI整合Lodop打印控件)
  16. 亚马逊这样做竞争大的产品更有优势
  17. GSoC 2022 Blender VSE: 第二、三周总结
  18. Go语言学习笔记—golang标准库xml包
  19. pytorch手写VGG16网络,两种写法,低阶基础写法
  20. PPP协议的简单了解

热门文章

  1. 如何提高自己的编程能力
  2. 图形编辑器——Graph Editor(树图必备)
  3. mosquitto分析
  4. 《程序员的第一年》---------- 周未回想
  5. 冯·诺依曼体系结构的学习总结
  6. Ubuntu22.04平台安装mesa
  7. 微信公众平台java开发详解
  8. wget命令详解,断点续传
  9. K8S使用Ceph RBD作为后端存储
  10. java8(三)Stream API