SQL Server 2008 R2 性能计数器详细列表(五)

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 原文: SQL Server 2008 R2 性能计数器详细列表(五) SQL Server:SQL Statistics 对象: 监视编译和发送到 SQL Server 实例的请求类型 SQL Server SQL Statistics 计数器 说明 Auto-Param Attempts/sec 每秒的自动参数化尝试数。
原文: SQL Server 2008 R2 性能计数器详细列表(五)

SQL Server:SQL Statistics 对象:

监视编译和发送到 SQL Server 实例的请求类型

SQL Server SQL Statistics 计数器 说明

Auto-Param Attempts/sec

每秒的自动参数化尝试数。其总数应为失败的、安全的和不安全的自动参数化尝试之和。当 SQL Server 实例尝试通过将某些文字替换为参数来参数化 Transact-SQL 请求时,就会进行自动参数化,这样可以对多个相似的请求再次使用保存在缓存中的执行计划。请注意,在更新版本的 SQL Server 中,自动参数化也称为简单参数化。此计数器不包括强制参数化。

Batch Requests/sec

每秒收到的 Transact-SQL 命令批数。这一统计信息受所有约束(如 I/O、用户数、高速缓存大小、请求的复杂程度等)影响。批处理请求数值高意味着吞吐量很好。

Failed Auto-Params/sec

每秒自动参数化尝试失败次数。该值应很小。请注意,在更高版本的 SQL Server 中,自动参数化也称为简单参数化。

Forced Parameterizations/sec

每秒成功执行的强制参数化次数。

Guided Plan Executions/sec

每秒执行的计划数,其中的查询计划是通过使用计划指南生成的。

Misguided Plan Executions/sec

每秒执行的计划数,其中的查询计划无法使用计划指南生成。系统将忽略计划指南并使用正常的编译过程生成执行计划。

Safe Auto-Params/sec

每秒安全自动参数化尝试次数。安全指确定保存在缓存中的执行计划可以在不同的相似 Transact-SQL 语句之间共享。SQL Server 进行多次自动参数化尝试,某些成为安全的,某些就失败了。请注意,在更高版本的 SQL Server 中,自动参数化也称为简单参数化。它不包括强制参数化。

SQL Attention rate

每秒发出关注信号的数目。发出一次关注信号就是终止当前运行请求的一次客户端请求。

SQL Compilations/sec

每秒的编译数。表示编译代码路径被进入的次数。包括 SQL Server 中语句级重新编译导致的编译。当 SQL Server 用户活动稳定后,该值将达到稳定状态。

SQL Re-Compilations/sec

每秒语句重新编译的次数。计算语句重新编译被触发的次数。一般来说,这个数最好较小。在更高版本的 SQL Server 中,重新编译发生在语句级别,而不是发生在 Microsoft SQL Server 2000 中的批处理级别。因此,不能直接比较 SQL Server 和早期版本中该计数器的值。

Unsafe Auto-Params/sec

每秒不安全的自动参数化尝试次数。例如,查询有某些特性会防止保存在缓存中的计划被共享。它们将被指定为不安全的。此计数器不计算强制参数化次数。


SQL Server Transactions 对象:

监视数据库引擎实例中处于活动状态的事务的数量

SQL Server Transactions 计数器 说明

Free Space in tempdb (KB)

tempdb 中的可用空间量 (KB)。必须具有足够的可用空间以保存快照隔离级别版本存储区和在数据库引擎实例中创建的所有新临时对象。

Longest Transaction Running Time

比任何其他当前事务活动时间都长的事务启动后运行的时间长度(秒)。

NonSnapshot Version Transactions

未使用快照隔离级别并进行了数据修改(这些修改在 tempdb 版本存储区中生成行版本)的当前活动事务的数目。

Snapshot Transactions

使用快照隔离级别的当前活动事务的数目。

注意:
Snapshot Transactions 对象计数器在进行第一次数据访问时响应,而不是在发出 BEGIN TRANSACTION 语句时响应。

Transactions

当前活动的所有类型的事务的数目。

Update conflict ratio

使用快照隔离级别的、在最后一秒内遇到更新冲突的事务的百分比。更新冲突在以下情况下发生:快照隔离级别事务尝试修改一行,但该行最近一次修改由在快照隔离级别事务启动时未提交的其他事务执行。

Update Snapshot Transactions

使用快照隔离级别并已修改数据的当前活动事务的数目。

Version Cleanup rate (KB/s)

行版本从 tempdb 中的快照隔离版本存储区中删除的速率(KB/秒)。

Version Generation rate (KB/s)

tempdb 中的快照隔离版本存储区中添加新行版本的速率(KB/秒)。

Version Store Size (KB)

tempdb 中用来存储快照隔离级别行版本的空间量 (KB)。

Version Store unit count

tempdb 中的快照隔离版本存储区中的活动分配单元的数目。

Version Store unit creation

数据库引擎实例启动后,在快照隔离存储区中创建的分配单元的数目。

Version Store unit truncation

数据库引擎实例启动后,从快照隔离存储区中删除的分配单元的数目。


SQL Server User Settable 对象:

可以创建自定义计数器实例

SQL Server User Settable 计数器 说明

Query

User Settable 对象包含 Query 计数器。用户对查询对象中的用户计数器进行配置。

此表列出了 Query 计数器的实例

Query 计数器实例 说明

用户计数器 1

使用 sp_user_counter1 定义。

用户计数器 2

使用 sp_user_counter2 定义。

用户计数器 3

使用 sp_user_counter3 定义。

用户计数器 10

使用 sp_user_counter10 定义。


SQL Server Wait Statistics 对象:

有关等待状态的性能计数器

SQL Server Wait Statistics 计数器 说明

Lock waits

等待锁的进程的统计信息。

Log buffer waits

等待日志缓冲区可用的进程的统计信息。

Log write waits

等待写入日志缓冲区的进程的统计信息。

Memory grant queue waits

等待内存授予的进程的统计信息。

Network IO waits

与等待网络 I/O 相关的统计信息。

Non-Page latch waits

与非页闩锁相关的统计信息。

Page IO latch waits

与页 I/O 闩锁相关的统计信息。

Page latch waits

与页闩锁(不包括 I/O 闩锁)相关的统计信息。

Thread-safe memory objects waits

等待线程安全内存分配器的进程的统计信息。

Transaction ownership waits

与同步访问事务的进程相关的统计信息。

Wait for the worker

与等待工作线程变得可用的进程相关的统计信息。

Workspace synchronization waits

与同步访问工作空间的进程相关的统计信息。

对象中的每个计数器均包含以下实例:

项目 说明

平均等待时间(ms)

所选类型等待的平均等待时间。

每秒的累积等待时间(ms)

所选类型等待的每秒累积等待时间。

正在进行的等待数

当前正在等待的以下类型的进程数。

每秒启动的等待数

每秒启动的所选类型等待的等待数。


SQLServer,Workload Group Stats 对象:

报告资源调控器工作负荷组统计相关信息的性能计数器

计数器名称 说明

Queued requests

当前正在等待拾取的排队请求数。如果达到 GROUP_MAX_REQUESTS 限制后操作中止,则此计数可为非零值。

Active requests

此工作负荷组中当前运行的请求数。此值应该等于按组 ID 筛选的 sys.dm_exec_requests 的行数。

Requests completed/sec

此工作负荷组中已完成的请求数。此数值可累计。

CPU usage %

此工作负荷组中所有请求的 CPU 带宽使用量,该值是相对于计算机度量的,并且针对系统中的所有 CPU 进行规范化。此值将随着可用于 SQL Server 进程的 CPU 量的变化而变化。它不会针对 SQL Server 进程接收的信息进行规范化。

Max request CPU time (ms)

此工作负荷组中当前运行的请求所用的最长 CPU 时间,以毫秒为单位。

Blocked requests

工作负荷组中当前被禁止的请求数。此值可用于确定工作负荷特征。

Reduced memory grants/sec

每秒所获内存量小于理想内存授予量的查询数。

Max request memory grant (KB)

查询的最大内存授予值,以千字节 (KB) 为单位。

Query optimizations/sec

每秒此工作负荷组中发生的查询优化次数。此值可用于确定工作负荷特征。

Suboptimal plans/sec

每秒此工作负荷组中生成的非最优计划数。

Active parallel threads

当前使用的并行线程数。


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
27天前
|
SQL 存储 关系型数据库
如何巧用索引优化SQL语句性能?
本文从索引角度探讨了如何优化MySQL中的SQL语句性能。首先介绍了如何通过查看执行时间和执行计划定位慢SQL,并详细解析了EXPLAIN命令的各个字段含义。接着讲解了索引优化的关键点,包括聚簇索引、索引覆盖、联合索引及最左前缀原则等。最后,通过具体示例展示了索引如何提升查询速度,并提供了三层B+树的存储容量计算方法。通过这些技巧,可以帮助开发者有效提升数据库查询效率。
50 2
|
1天前
|
SQL 关系型数据库 MySQL
惊呆:where 1=1 可能严重影响性能,差了10多倍,快去排查你的 sql
老架构师尼恩在读者交流群中分享了关于MySQL中“where 1=1”条件的性能影响及其解决方案。该条件在动态SQL中常用,但可能在无真实条件时导致全表扫描,严重影响性能。尼恩建议通过其他条件或SQL子句命中索引,或使用MyBatis的`<where>`标签来避免性能问题。他还提供了详细的执行计划分析和优化建议,帮助大家在面试中展示深厚的技术功底,赢得面试官的青睐。更多内容可参考《尼恩Java面试宝典PDF》。
|
21天前
|
SQL 监控 数据库
慢SQL对数据库写入性能的影响及优化技巧
在数据库管理系统中,慢SQL(即执行缓慢的SQL语句)不仅会影响查询性能,还可能对数据库的写入性能产生显著的不利影响
|
24天前
|
SQL 关系型数据库 PostgreSQL
遇到SQL 子查询性能很差?其实可以这样优化
遇到SQL 子查询性能很差?其实可以这样优化
67 2
|
25天前
|
SQL Oracle 关系型数据库
Oracle SQL:了解执行计划和性能调优
Oracle SQL:了解执行计划和性能调优
42 1
|
11天前
|
SQL 数据库 开发者
8种SQL编写陷阱:性能杀手还是团队乐趣?
【10月更文挑战第17天】记住,一个好的开发者不仅要知道如何编写代码,还要知道如何编写高效的代码。
13 0
|
22天前
|
SQL 存储 数据库
慢SQL对数据库写入性能的影响及优化技巧
在数据库管理系统中,慢SQL(即执行缓慢的SQL语句)不仅会影响查询性能,还可能对数据库的写入性能产生显著的不利影响
|
25天前
|
SQL 数据处理 数据库
警惕!这八个 SQL 习惯正在拖垮数据库性能
【10月更文挑战第3天】在日常的数据库开发与维护工作中,编写高效、清晰的SQL语句是每位数据工程师的必修课。然而,不当的SQL编写习惯不仅能降低查询效率,还可能给同事的工作带来不必要的困扰。今天,我们就来揭秘八种常见的“专坑同事”SQL写法,助你避免成为那个无意间拖慢整个团队步伐的人。
32 0
|
25天前
|
SQL 数据处理 数据库
SQL语句优化与查询结果优化:提升数据库性能的实战技巧
在数据库管理和应用中,SQL语句的编写和查询结果的优化是提升数据库性能的关键环节
|
25天前
|
SQL 存储 数据库
慢SQL对数据库写入性能的影响及优化策略
在数据库管理系统中,慢SQL(即执行缓慢的SQL语句)不仅会影响查询性能,还可能对数据库的写入性能产生不利影响