原文:
SQL Server 2008 R2 性能计数器详细列表(四)
SQL Server Latches 对象:
监视称为闩锁的内部 SQL Server 资源锁。通过监视闩锁来确定用户活动和资源使用情况,将有助于查明性能瓶颈
SQL Server Latches 计数器 |
说明 |
Average Latch Wait Time (ms)
|
必须等待授予的闩锁请求的平均等待时间(毫秒)。
|
Latch Waits/sec
|
未能立即授予的闩锁请求数。
|
Number of SuperLatches
|
目前是 SuperLatch 的闩锁数。
|
SuperLatch Demotions/sec
|
在上一秒钟内已降级为常规闩锁的 SuperLatch 数。
|
SuperLatch Promotions/sec
|
在上一秒钟内已提升为 SuperLatch 的闩锁数。
|
Total Latch Wait Time (ms)
|
上一秒钟内的闩锁请求的总等待时间(毫秒)。
|
SQL Server Memory Manager 对象:
监视总体的服务器内存使用情况的计数器。监视总体的服务器内存使用情况,以估计用户活动和资源使用,有助于查明性能瓶颈。监视 SQL Server 的实例使用的内存有助于确定:
- 瓶颈的存在是否是因为物理内存不足以存储缓存中被频繁访问的数据。如果内存不足,SQL Server 必须从磁盘检索数据。
- 是否可以通过添加更多内存或使更多内存可用于数据缓存或 SQL Server 内部结构来改善查询性能。
SQL Server Memory Manager 计数器 |
说明 |
Connection Memory (KB)
|
服务器正在用来维护连接的动态内存总量。
|
Granted Workspace Memory (KB)
|
当前给予执行哈希、排序、大容量复制和索引创建操作等进程的内存总量。
|
Lock Blocks
|
服务器正在使用的锁块的当前数目(定期进行刷新)。一个锁块代表一个单独的锁定资源,如表、页或行。
|
Lock Blocks Allocated
|
当前分配的锁块数。服务器启动时,分配的锁块数加上分配的锁拥有者块数依赖于 SQL Server Locks 配置选项。若需要更多的锁块,此值会增加。
|
Lock Memory (KB)
|
服务器用于锁的动态内存总量。
|
Lock Owner Blocks
|
当前正在服务器上使用的锁拥有者块的数目(定期进行刷新)。一个锁拥有者块代表一个独立线程对某一对象上的一个锁的拥有权。因此,若三个线程在一个页上各有一个共享 (S) 锁,就会有三个锁拥有者块。
|
Lock Owner Blocks Allocated
|
分配的锁拥有者块的当前块数。服务器启动时,分配的锁拥有者块数和分配的锁块数依赖于 SQL Server Locks 配置选项。若需要更多的锁拥有者块,此数值会动态增加。
|
Maximum Workspace Memory (KB)
|
用于执行哈希、排序、大容量复制和索引创建操作等进程的最大可用内存数。
|
Memory Grants Outstanding
|
成功获得工作空间内存授权的进程总数。
|
Memory Grants Pending
|
等待工作空间内存授权的进程总数。
|
Optimizer Memory (KB)
|
服务器正在用于查询优化的动态内存总数。
|
SQL Cache Memory (KB)
|
服务器正在用于动态 SQL 高速缓存的动态内存总数。
|
Target Server Memory (KB)
|
服务器能够使用的动态内存总量。
|
Total Server Memory (KB)
|
从缓冲池提交的内存 (KB)。
注意: |
这不是 SQL Server 使用的总内存。 |
|
SQL Server Plan Cache 对象:
监视 SQL Server 如何使用内存来存储对象(例如存储过程、即席和准备的 Transact-SQL 语句以及触发器)的计数器。可同时监视
Plan Cache 对象的多个实例,每个实例代表一个要监视的不同类型的计划
SQL Server Plan Cache 计数器 |
说明 |
Cache Hit Ratio
|
高速缓存命中次数和查找次数的比率。
|
Cache Object Counts
|
高速缓存中高速缓存的对象数。
|
Cache Pages
|
高速缓存对象所使用的 8 (KB) 页的数目。
|
Cache Objects in use
|
正在使用的缓存对象数。
|
对象中的每个计数器均包含以下实例:
Plan Cache 实例 |
说明 |
_Total
|
所有类型的缓存实例的信息。
|
Sql 计划
|
由一个临时的 Transact-SQL 查询(包括自动参数化查询)生成的查询计划,或使用 sp_prepare 或
sp_cursorprepare 预备的 Transact-SQL 语句生成的查询计划。SQL Server 将临时的 Transact-SQL 语句的计划存入缓存,以便将来需要执行相同的 Transact-SQL 语句时再次使用。 用户参数化的查询(即使未显式准备)也作为准备好的 SQL 计划监视。
|
对象计划
|
通过创建存储过程、函数或触发器而生成的查询计划。
|
绑定树
|
视图、规则、计算列和检查约束的规范化树。
|
扩展存储过程
|
扩展存储过程的目录信息。
|
临时表和表变量
|
与临时表和表变量相关的缓存信息。
|
SQL Server,Resource Pool Stats 对象:
包含报告资源调控器资源池统计相关信息的性能计数器。
计数器名称 |
说明 |
CPU usage %
|
属于此池的所有工作负荷组中所有请求的 CPU 带宽使用量。此值是相对于计算机度量的,并针对系统中的所有 CPU 进行规范化。此值将随着可用于 SQL Server 进程的 CPU 量的变化而变化。它不会针对 SQL Server 进程接收的信息进行规范化。
|
CPU usage target %
|
资源池基于资源池配置设置和系统负荷的目标 CPU 使用率 (%)。
|
CPU control effect %
|
资源调控器对资源池的控制效果。计算公式为:(CPU 使用率 %)/(无资源调控器情况下的 CPU 使用率 %)。
|
Compile memory target (KB)
|
查询编译的当前内存代理目标值,以千字节 (KB) 为单位。
|
Cache memory target (KB)
|
缓存的当前内存代理目标值,以千字节 (KB) 为单位。
|
Query exec memory target (KB)
|
查询执行内存授予的当前内存代理目标值,以千字节 (KB) 为单位。此信息还可在 sys.dm_exec_query_memory_grants 中获得。
|
Memory grants/sec
|
每秒此资源池中发生的内存授予数。
|
Active memory grants count
|
当前内存授予总数。此信息还可在 sys.dm_exec_query_memory_grants 中获得。
|
Memory grant timeouts/sec
|
每秒内存授予超时数。
|
Active memory grant amount (KB)
|
当前授予的内存总量,以千字节 (KB) 为单位。此信息还可在 sys.dm_exec_query_resource_semaphores 中获得。
|
Pending memory grant count
|
队列中挂起的内存授予请求数。此信息还可在 sys.dm_exec_query_resource_semaphores 中获得。
|
Max memory (KB)
|
资源池基于资源池设置和服务器状态可获得的最大内存量,以千字节 (KB) 为单位。
|
Used memory (KB)
|
用于资源池的内存量,以千字节 (KB) 为单位。
|
Target memory (KB)
|
资源池基于资源池设置和服务器状态尝试获得的目标内存量,以千字节 (KB) 为单位。
|
SQL Server SQL Errors 对象:
监视 SQL Errors
SQL Server SQL Errors 计数器 |
说明 |
Errors/sec
|
每秒的错误数。
|
对象中的每个计数器均包含以下实例:
项目 |
定义 |
_Total
|
有关所有错误的信息。
|
DB 离线错误
|
跟踪导致 SQL Server 将当前数据库离线的错误。
|
信息错误
|
与错误消息相关的信息,错误消息可向用户提供信息但不会导致错误。
|
断开连接错误
|
跟踪导致 SQL Server 断开当前连接的错误。
|
用户错误
|
有关用户错误的信息。
|