RDS-SQL SERVER用户控制台监控信息详解

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

功能详解

一. 工具

Microsoft SQL Server 2008R2 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV)返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。

常规服务器动态管理对象包括:

dm_db_*:数据库和数据库对象

dm_exec_*:执行用户代码和关联的连接

dm_os_*:内存、锁定和时间安排

dm_tran_*:事务和隔离

dm_io_*:网络和磁盘的输入/输出

二. Metrics

用户控制台所看到的metrics

getTfsFile (1)

磁盘空间

命令: 总空间 = 数据空间 + 日志空间 + 其它文件空间(temp)

解释: 页面显示了磁盘空间的使用量单位是GB

IOPS

命令: iopsflt.exe(自主开发)

解释: IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数

CPU使用率

命令:利用进程pid获得此进程的cpu使用率,再用获得的cpu使用率比上用户申请的得到一个百分比

解释: IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数

连接数

命令
select count(*) from sys.dm_exec_sessions
where is_user_process=1

and login_name not in (‘***’)

and login_name not like ‘***’
and status not in (‘Preconnect’, ‘Dormant‘)

解释
sys.dm_exec_sessions      是服务器范围的视图,显示了有关所有活动用户连接和内部任务的信息。

login_name 当前执行的会话所使用的 SQL Server 登录名。

is_user_process   用于判断是否是系统连接。

status    会话的状态。 可能的值:

Running - 当前正在运行一个或多个请求

Sleeping - 当前没有运行任何请求

Dormant – 会话因连接池而被重置,并且现在处于登录前状态。

Preconnect - 会话在资源调控器分类器中。

分类资源调控器支持对传入会话的分类。分类基于函数中包含的一组用户编写的条件。

函数逻辑的结果使资源调控器可以将会话归入现有工作负荷组类。

会话传入链接——分类(分类器函数)——路由到工作负荷组——工作负荷组使用相关联的资源池——资源池提供同时限制应用程序资源

网络流量

命令
SELECT round(SUM(net_packet_size * 1.0 * num_reads / 1024), 0) AS read_kb, round(SUM(net_packet_size * 1.0 * num_writes / 1024), 0) AS write_kb
FROM sys.dm_exec_connections
WHERE session_id IN (

SELECT session_id

FROM sys.dm_exec_sessions

WHERE is_user_process = 1

)

理解
dm_exec_connections     返回与 SQL Server 实例建立的连接有关的信息以及每个连接的详细信息。

net_packet_size  用于信息和数据的网络包的大小。可为 Null 值。

num_reads   此连接中已发生的读包次数。可为 Null 值。

num_writes  此连接中已发生的写数据包次数。可为 Null 值。

session_id    标识与此连接关联的会话。可为 Null 值。

is_user_process   用于判断是否是系统连接。

TPS

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name LIKE ‘MSSQL$MS3001:database%%’
AND instance_name = ‘_Total’
AND counter_name LIKE ‘Transactions/sec%%’

理解
Database 对象提供了计数器,来监视大容量复制操作、备份和还原吞吐量以及事务日志活动。

_Total     有的计数器的instance_name中有值为_Total的实例,它是对该计数器所有实例的聚合值(SUM)。

Transactions/sec       每秒为数据库启动的事务数

QPS

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:SQL Statistics’
AND counter_name = ‘Batch Requests/sec’

理解
SQL Statistics      对象提供计数器来监视编译和发送到 SQL Server 实例的请求类型。通过监视查询编译和重新编译的次数以及 SQL Server 实例收到的批数,可了解 SQL Server 处理用户查询的速度,以及查询 优化器处理查询的效率。

Batch Requests/sec  每秒收到的 Transact-SQL 命令批数。

 

缓存命中率

命令
SELECT a.cntr_value * 1.0 / b.cntr_value * 100.0 AS BufferCacheHitRatio
FROM sys.dm_os_performance_counters a
JOIN (SELECT cntr_value, OBJECT_NAME
FROM sys.dm_os_performance_counters
WHERE counter_name = ‘Buffer cache hit ratio base’
AND OBJECT_NAME = ‘MSSQL$MS3001:Buffer Manager’
) b ON a.OBJECT_NAME = b.OBJECT_NAME
WHERE a.counter_name = ‘Buffer cache hit ratio’
AND a.OBJECT_NAME = ‘MSSQL$MS3001:Buffer Manager’

理解
sys.dm_os_performance_counters       为服务器维护的每个性能计数器返回一行。

counter_name    计数器的名称

OBJECT_NAME          计数器的所属类别

Buffer Manager 对象提供了计数器,用于监视 SQL Server 如何使用:内存存储数据页、内部数据结构和过程缓存; 计数器监视 SQL Server 读取和写入数据库页时的物理 I/O。

Buffer Manager中的Buffer cache hit ratio base和Buffer cache hit ratio

Buffer cache hit ratio 官方解释在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。

平均每秒全表扫描数

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Access Methods’
AND counter_name = ‘Full Scans/sec’

理解
Access Methods       对象提供用于监视如何访问数据库中的逻辑数据的计数器。

Full Scans/sec    每秒不受限制的完全扫描数。这些扫描可以是基表扫描,也可以是全文索引扫描。

每秒SQL编译

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:SQL Statistics’
AND counter_name = ‘SQL Compilations/sec’

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

每秒检查点写入Page数

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Buffer Manager’
AND counter_name = ‘Checkpoint pages/sec’

理解

由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数。

每秒登陆次数

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:General Statistics’
AND counter_name = ‘Logins/sec’

理解
General Statistics 对象提供计数器,用于监视服务器范围内的常规活动

Logins/sec   每秒启动的登录数。 这不包括已入池连接。

每秒锁超时

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Locks’
AND counter_name = ‘Lock Timeouts/sec’
AND instance_name = ‘_Total’

理解
Locks 对象提供了有关各种资源类型的 SQL Server 锁的信息

Lock Timeouts/sec    每秒超时的锁请求数,包括对 NOWAIT 锁的请求。

每秒死锁

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Locks’
AND counter_name = ‘Number of Deadlocks/sec’
AND instance_name = ‘_Total’

理解
Number of Deadlocks/sec     每秒导致死锁的锁请求数。

每秒锁等待

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Locks’
AND counter_name = ‘Lock Waits/sec’
AND instance_name = ‘_Total’

解释
Lock Waits/sec   每秒要求调用者等待的锁请求数。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
缓存 监控 关系型数据库
如何根据监控结果调整 MySQL 数据库的参数以提高性能?
【10月更文挑战第28天】根据MySQL数据库的监控结果来调整参数以提高性能,需要综合考虑多个方面的因素
93 1
|
2月前
|
监控 关系型数据库 MySQL
如何监控和诊断 MySQL 数据库的性能问题?
【10月更文挑战第28天】监控和诊断MySQL数据库的性能问题是确保数据库高效稳定运行的关键
225 1
|
3月前
|
存储 SQL 关系型数据库
MySQL 存储过程错误信息不打印在控制台
MySQL 存储过程错误信息不打印在控制台
90 1
|
4月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
93 2
zabbix agent集成percona监控MySQL的插件实战案例
|
4月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
5月前
|
Web App开发
成功解决Chrome浏览器 控制台下看不到接口信息的问题
这篇文章提供了解决Chrome浏览器控制台不显示接口信息问题的方法,包括检查过滤设置和确保“保留日志”开关已打开。
成功解决Chrome浏览器 控制台下看不到接口信息的问题
|
6月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
142 13
|
6月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
6月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
77 6
|
6月前
|
Prometheus 监控 Cloud Native
Prometheus结合Consul采集多个MySQL实例的监控指标
将 Prometheus 与 Consul 结合使用,实现对多个 MySQL 实例的自动发现与监控,不仅提高了监控的效率和准确性,也为管理动态扩缩容的数据库环境提供了强大的支持。通过细致配置每一部分,业务可以获得关键的性能指标和运行健康状况的即时反馈,进而优化资源配置,提高系统的稳定性和可用性。
187 3