十大监视SQL Server性能的计数器
作为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的:缓冲管理器:检查点页/秒 )
检查点页/秒表示每秒写入到磁盘的确认检查的页数。我们应该根据自己的数据库生成一个基准曲线。一旦建立了基准曲线,我们可以看看它是否还在上升。如果此计数器一直在上升,这有可能是因为内存有问题,导致磁盘和内存的页面交换在频繁的进行。
十大监视SQL Server性能的计数器的更多相关文章
- SQL Server 性能优化详解
故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户, ...
- (转)SQLServer_十步优化SQL Server中的数据访问四
原文地址:http://tech.it168.com/a2009/1125/814/000000814758_all.shtml 第八步:使用SQL事件探查器和性能监控工具有效地诊断性能问题 在SQL ...
- 如何使用 DBCC MEMORYSTATUS 命令来监视 SQL Server 2005 中的内存使用情况
https://technet.microsoft.com/en-us/solutionaccelerators/dd537566.aspx 注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完 ...
- SQL Server Profiler监控SQL Server性能
全面掌握SQL Server Profiler 1. 原理与相关概念介绍 SQL Server Profiler,大家已经非常熟悉.常常在性能优化中使用,本文档详细介绍SQL Server ...
- SQL Server 性能优化之——系统化方法提高性能
SQL Server 性能优化之——系统化方法提高性能 阅读导航 1. 概述 2. 规范逻辑数据库设计 3. 使用高效索引设计 4. 使用高效的查询设计 5. 使用技术分析低性能 6. 总结 1. 概 ...
- 影响Sql server性能的因素
目前本人在看<SQL Server性能调优实战> ,以下内容是本人看书笔记 数据库性能取决于各方面综合因素: 硬件,操作系统,软件 硬件:内存,CPU,磁盘 当服务器的物理内存不足时,会产 ...
- sql server 性能调优之 资源等待PAGELATCH
一.概述 在前几章介绍过 sql server 性能调优资源等待之PAGEIOLATCH,PAGEIOLATCH是出现在sql server要和磁盘作交互的时候,所以加个IO两个字.这次来介绍PAGE ...
- sql server 性能调优之 资源等待 LCk
一. 概述 这次介绍实例级别资源等待LCK类型锁的等待时间,关于LCK锁的介绍可参考 “sql server 锁与事务拨云见日”.下面还是使用sys.dm_os_wait_stats 来查看,并找出 ...
- sql server 性能调优之 CPU消耗最大资源分析1 (自sqlserver服务启动以后)
一. 概述 上次在介绍性能调优中讲到了I/O的开销查看及维护,这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU, 内存,锁等,不管从哪个维度去解决,都能达到调优的效 ...
随机推荐
- 微信小程序-学习总结(1)
微信小程序尺寸单位 rpx单位是微信小程序中css的尺寸单位,rpx可以根据屏幕宽度进行自适应.规定屏幕宽为750rpx. 设备 rpx换算成px(屏幕宽度/750) ...
- 内置函数: filter 和 map
内置函数———filter和map filter filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表.接收两个参数,第一个为函数,第二个为序列,序列的每个元素作 ...
- Latex排版全解(转)
Latex排版全解 http://blog.csdn.net/langb2014/article/details/51354238
- 剑指offer 面试3题
面试3题: 题:数组中重复的数字 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复 ...
- 对称加密&非对称加密
对称密钥密码算法的特点: 算法简单,加/解密速度快,但密钥管理复杂,不便于数字签名: 非对称密钥密码算法的特点: 算法复杂,加/解密速度慢,密钥管理简单,可用于数字签名. 所以将两者结合起来,形成混合 ...
- Computer Information
Lab: lxw@lxw-PC:python$ df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda7 190G .4G 175G % / none .0K .0K % /sys/ ...
- C#中的foreach和yield
1. foreach C#编译器会把foreach语句转换为IEnumerable接口的方法和属性. foreach (Person p in persons) { Console.WriteLine ...
- hadoop本地运行与集群运行
开发环境: windows10+伪分布式(虚拟机组成的集群)+IDEA(不需要装插件) 介绍: 本地开发,本地debug,不需要启动集群,不需要在集群启动hdfs yarn 需要准备什么: 1/配置w ...
- 【Tech】单点登录系统CAS服务器端搭建及实现用户名密码由MYSQL数据库验证
CAS是YALE大学发起的一个开源项目,旨在为web应用系统提供一种可靠的单点登录方法.它主要分为client和server端,server端负责对用户的认证工作,client端负责处理对客户端受保护 ...
- 原生javasxript获取浏览器的滚动距离和可视窗口的高度
原生javasxript获取浏览器的滚动距离和可视窗口的高度 //封装兼容性方法获取滚动的距离 function getScrollOffset(){ if(window.pageXOffset){ ...