随笔 - 470  文章 - 6  评论 - 20  阅读 - 90万

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

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

[@more@]

SQL Server

指标名称

指标描述

指标范围

指标单位

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

全表扫描/

(Full Scans/sec)

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

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

次数/

2SQL 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

个数/

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

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

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

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

%

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

平均闩等待

时间(毫秒)

(Average Latch

Wait Time(ms))

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

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

毫秒

闩等待/

(Latch Waits/sec)

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

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

个数/

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

死锁的数量/

(Number of Deadlocks/sec)

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

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

个数/

平均等待时间(毫秒)

(Average Wait

Time(ms))

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

同上

毫秒

锁请求/

(Lock Requests/sec)

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

同上

个数/

posted on   chen110xi  阅读(442)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
阅读排行:
· 一个适用于 .NET 的开源整洁架构项目模板
· .NET 9.0 使用 Vulkan API 编写跨平台图形应用
· 终于决定:把自己家的能源管理系统开源了!
· [.NET] 使用客户端缓存提高API性能
· AsyncLocal的妙用
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示