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

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

功能详解

一. 工具

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   每秒要求调用者等待的锁请求数。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
12天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
20天前
|
存储 监控 关系型数据库
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
|
1月前
|
SQL 监控 关系型数据库
MySQL性能调优:监控和优化
MySQL性能调优:监控和优化
54 1
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
22天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
16 0
|
12天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
74 6
|
7天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
13 0
|
12天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
16天前
|
SQL 数据安全/隐私保护
SQL Server 2016安装教程
SQL Server 2016安装教程
17 1
|
16天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
15 1

热门文章

最新文章