数据库实例监控 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

数据库实例监控

一个数据库实例是 Amazon RDS 的基本构件。它是在云中运行的隔离数据库环境。对于 MySQL 和 MariaDB 数据库,数据库实例是mysqld程序,也称为 MySQL 服务器,它包括多个线程和组件,例如 SQL 解析器、查询优化器、线程/连接处理器、系统和状态变量以及一个或多个可插拔存储引擎。每个存储引擎都旨在支持特殊用例。默认和推荐的存储引擎是InnoDB,它是一个事务性、通用性、关系数据库引擎,符合原子性、一致性、隔离、耐久性 (ACID) 模型。InnoDB 功能内存中的结构(缓冲池、更改缓冲区、自适应哈希索引、日志缓冲区)以及磁盘上的结构(表空间、表、索引、撤消日志、重做日志、双写缓冲区文件)。为确保您的数据库严格遵守 ACID 模型,InnoDB 存储引擎实现了多种功能保护您的数据,包括事务、提交、回滚、崩溃恢复、行级锁定和多版本并发控制 (MVCC)。

数据库实例的所有这些内部组件协同工作,有助于将数据的可用性、完整性和安全性保持在预期和令人满意的性能水平。根据您的工作负载,每个组件和功能可能会对 CPU、内存、网络和存储子系统施加资源需求。当对特定资源的需求激增超过该资源的预配置容量或软件限制(由配置参数或软件设计施加)时,数据库实例可能会出现性能下降或完全不可用和损坏。因此,必须测量和监控这些内部组件,将它们与定义的基准值进行比较,并在监控值与预期值偏离时生成警报。

如前所述,你可以使用不同的工具监控你的 MySQL 和 MariaDB 实例。我们建议您使用 Amazon RDS 性能见解和CloudWatch用于监控和警报的工具,因为这些工具已与 Amazon RDS 集成,可收集高分辨率指标,近乎实时地显示最新的性能信息,并生成警报。

无论您的首选监控工具是什么,我们都建议您打开性能架构在你的 MySQL 和 MariaDB 数据库实例中。这个性能架构是一项可选功能,用于在低级别监控 MySQL 服务器(数据库实例)的操作,旨在将对数据库整体性能的影响降至最低。您可以使用以下方法管理此功能performance_schema参数。尽管此参数是可选的,但您必须使用它来收集每个 SQL 的高分辨率(一秒)指标、活动会话指标、等待事件和其他详细的低级别监控信息,这些信息由 Amazon RDS Performance Insights 收集。

章节