关系型数据库性能测试参考指标----SQL Server

注:以下指标取自SQL Server自身提供的性能计数器。

[@[email protected]]

SQL Server


指标名称


指标描述


指标范围


指标单位


1.SQL Server中访问方法(Access Methods)对象包含的性能计数器


全表扫描/秒

(Full Scans/sec)


指每秒全表扫描的数量。全表扫描可以是基本表扫描或全索引扫描。由于全表扫描需要耗费大量时间,因此全表扫描的频率过高的话,会影响性能。


如果该指标的值比1或2高,应该分析设计的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。


次数/秒


2.SQL Server中缓冲器管理器(Buffer Manager)对象包含的性能计数器


缓冲区高速缓存命中率(BufferCache

Hit Ratio%)


指在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。该比率是缓存命中总次数与缓存查找总次数之比。经过很长时间后,该比率的变化很小。由于从缓存中读取数据比从磁盘中读取数据的开销小得多,一般希望该比率高一些。


该指标的值最好为90%或更高。通常可以通过增加SQL Server可用的内存数量来提高该指标的值。增加内存直到这指标的值持续高于90%,表示90%以上的数据请求可以从数据缓冲区中获得所需数据。


%


读的页/秒

(Page Reads/sec)


指每秒发出的物理数据库页读取数。该指标主要考察数据库从磁盘读取数据的频率。因为物理I/O会耗费大量时间,所以应尽可能地减少物理I/O以提高性能。


该指标的值应尽可能的小。可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,以降低该指标的值。


个数/秒


写的页/秒

(Page Writes/sec)


指每秒执行的物理数据库写的页数。该指标主要考察数据库向磁盘写入数据的频率。因为物理I/O会耗费大量时间,所以应尽可能地减少物理I/O以提高性能。


该指标的值应尽可能的小。可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,以降低该指标的值。


个数/秒


惰性写/秒

(Lazy Writes/sec)


指每秒被缓冲区管理器的惰性编写器写入的缓冲区数。惰性编写器是一个系统进程,用于成批刷新脏的老化的缓冲区(包含更改的缓冲区,必须将这些更改写回磁盘,才能将缓冲区重用于其他页),并使它们可用于用户进程。


该指标的值最好为0。


个数/秒


3.SQL Server中高速缓存管理器(Cache Manager)对象包含的性能计数器


高速缓存命中率(Cache Hit Ratio%)


指高速缓存命中次数和查找次数的比率。在SQL Server中,Cache包括Log Cache,Buffer Cache以及Procedure Cache,该指标是指所有Cache的命中率,是一个总体的比率。


该指标的值越高越好。如果该指标的值持续低于80%,就需要增加更多的内存。


%


4.SQL Server中闩(Latches)对象包含的性能计数器


平均闩等待

时间(毫秒)

(Average Latch

Wait Time(ms))


指一个SQL Server线程必须等待一个闩的平均时间。


如果该指标的值很高,则系统可能正经历严重的资源竞争问题。


毫秒


闩等待/秒

(Latch Waits/sec)


指在一个闩上每秒的平均等待数量。


如果该指标的值很高,则系统可能正经历严重的资源竞争问题。


个数/秒


5.SQL Server中锁(Locks)对象包含的性能计数器


死锁的数量/秒

(Number of Deadlocks/sec)


指每秒导致死锁的锁请求数。


锁加在SQL Server资源上(如在一个事务中进行的行读取或修改),以防止多个事务并发使用资源。应尽可能少使用锁以提高事务的并发性,从而改善性能。


个数/秒


平均等待时间(毫秒)

(Average Wait

Time(ms))


指线程等待某种类型的锁的平均等待时间。


同上


毫秒


锁请求/秒

(Lock Requests/sec)


指每秒钟某种类型的锁请求的数量。


同上


个数/秒

时间: 2024-08-08 17:44:47

关系型数据库性能测试参考指标----SQL Server的相关文章

sql数据库恢复 文件丢失误删除 误格式化置疑报错修复 数据库置疑修复总结/SQL SERVER 2000/2005/2008/2008R2

数据库置疑的原因会有多种多样,不同的问题采用的步骤也会有所不同,以下的步骤不能适用所有的情况,但包括了一些基本的步骤. 数据库置疑是指数据库内部处于不一致的状态,很有可能会有数据丢失.我们推荐您从做数据库备份之前,检查过DBCC  CHECKDB没有错误,备份的数据库没有更改.    1.首先确认已经备份了.mdf和.ldf文件. 2. 在SQL Server中新建一个同名的数据库,然后停止SQL Server服务. 3. 用原有的.mdf和.ldf文件覆盖新建数据库对应的.mdf和.ldf文件

此数据库文件与当前sql server实例不兼容

在vs2015导入mdf数据库文件时提示:此数据库文件与当前sql server实例不兼容. mdf文件的版本是SQL SERVER 2005的,而VS2015自带的数据库是LocalDB,直接导入该mdf文件时会提示:此数据库文件与当前sql server实例不兼容. 解决方法是把sql server 2005的mdf文件转成LocalDB可操作的mdf文件. 以下是操作方法,直接用VS2015即可完成, 不需要安装SQL SERVER. 服务器资源管理器 -> 连接到数据库 服务器名:直接填

最佳实践 · 实例级别数据库上云RDS SQL Server

摘要: 摘要 到目前,我们完成了SQL Server备份还原专题系列八篇月报分享:三种常见的数据库备份.备份策略的制定.查找备份链.数据库的三种恢复模式与备份之间的关系.利用文件组实现冷热数据隔离备份方案.如何监控备份还原进度.阿里云RDS SQL自动化迁移上云的一种解决方案以及上个月分享的RDS SDK实现数据库迁移上阿里云,本期我们分享如何将用户线下或者ECS上自建实例级别数据库一键迁移上阿里云RDS SQL Server. 摘要到目前,我们完成了SQL Server备份还原专题系列八篇月报

MySql数据库数据类型和Sql Server 数据库数据类型之间的差异

1. MySQL支持enum和set类型,SQL Server不支持:2. MySQL不支持nchar.nvarchar.ntext类型:3. MySQL数据库的递增语句是AUTO_INCREMENT,而MS SQL是identity(1,1):4. MS SQL默认到处表创建语句的默认值表示是((0)),而在MySQL里面是不允许带两括号的:5. MySQL需要为表指定存储类型:6. MS SQL识别符是[],[type]表示他区别于关键字,但是MySQL却是 `,也就是按键1左边的那个符号:

数据库问题——无法与SQL Server建立连接

在打开VS启动程序的时候,出现了如下错误. 由此推断是与数据库的连接出了问题.确定了代码写的没问题,又打开了SQL Server 2012,但是却连接不上服务器,出现了与在VS中一样的问题(这里需要注意,我们平时运行程序与数据库相连是不用打开SQL Server的). 回想起之前学数据库的时候遇到过这样的问题,碰巧韩林在身边,给解决了.但是却没有及时总结.导致现在遇到这样的问题一时找不着北.出现这样的问题,是因为SQL Server的部分服务处于关闭状态,打开就OK了.以我的电脑win8为例,具

C#将Excel数据导入数据库(MySQL或Sql Server)

最近一直很忙,很久没写博客了.今天给大家讲解一下如何用C#将Excel数据导入Excel,同时在文章最后附上如何用sqlserver和mysql工具导入数据. 导入过程大致分为两步: 1.将excel数据导入到DataSet中; 2.将DataSet里面的数据遍历插入到对应的数据库 一.将excel数据导入到DataSet中 需添加引用using System.Data; using System.Data.OleDb; public static DataSet ReadExcel(strin

将SQL Azure数据库备份到本地SQL Server 2012

整个备份过程可以分为如下两大步骤进行: 一.通过"Export Data-tier Application"先将目标SQL Azure的数据库备份到本地,详细步骤如下: 1.启动SQL Server Management Studio,连接目标SQL Azure.选择SQL Azure中要备份的目标数据库,右键选择"Export Data-tier Application"菜单: 2.进入开始页面,选择"Next": 3.在"Expor

SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误

1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业错误”,点击查看详细会提示“作业失败 有关详细信息,请查看目标服务器上的事件日志”. 2. 处理方案 发生这种情况的一般原因是目标服务器的SQL SERVER代理服务的权限过低.更改代理服务权限为LocalSystem账户即可. A. 开始–程序–SQL SERVER 配置管理器 B. 点击左侧“S

SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中

最近,电脑重装系统之后,安装了SQL Server 2008.附加数据库文件的时候,发现无法附加,提示版本不对.想起来,原来的数据库版本是SQL Server 2008R2.低版本的数据库管理工具无法兼容高版本的数据库文件,所以无法直接附加.我有10几个这样的数据库文件需要附加到数据库管理工具中,上网百度一番之后,没有查到什么特别的捷径.最后,只好选择了先将这些数据库文件附加到一台安装了SQL Server 2008R2的电脑上,再导出数据脚本,通过数据脚本还原数据库文件到SQL Server