企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—RDS常见问题排除及DAS自动弹性伸缩(下)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—RDS常见问题排除及DAS自动弹性伸缩(下)

接上篇:https://developer.aliyun.com/article/new/supportservice?spm=a2c6h.12873639.article-detail.6.21741b67F3verg&publish=1224221#/?_k=6u4bk3image.png

 

上图为异常快照页面,能够查看异常指标分析,也可以查看所有指标。

 

然后进入之后也会展示会话快照的信息。

 

image.png

 

如上图,可以重点关注在某个时间段哪些SQL执行比较多、SQL执行量较多的占比是多少、平均执行时长是多少,可以对关注项进行排序。

 

操作栏点击复制样本,可以复制具体样本的SQL,点击优化可以查看优化后的执行计划,能够快速地判断SQL是否有问题,点击限流可以将SQL加入限流模板,后面遇到此类SQL会进行限流。

 

image.png

 

事务与锁快照能够展示元数据锁的信息,事务持续时间超过15秒会被记录,锁等待超过5秒也会被记录。

 

因此遇到锁类的问题时,也可以通过此模块快速查看问题。

 

image.png

 

慢日志统计页面记录了慢日志统计与慢日志明细,也包含异常时间段内相应的信息。可以通过排序的方式快速找到信息,也可以进行样本优化与限流。

 

image.png

 

根因分析页面会展示SQL的执行次数、平均执行时间、最大执行时间等,并给优化建议。

 

image.png

 

诊断出异常时,也可以通过配置优化与限流措施解决问题。比如平常默认仅SQL诊断,也可以选择SQL诊断并自动创建索引。但CPU正打高时不会执行DDL,需要等到实例运维时间段才会执行。因此此时添加索引并不能解决当下的问题的。针对CPU打高等问题,建议勾选“同时kill执行中的异常SQL”,先快速恢复,后面再添加索引。

 

也可以指定CPU大于多少/活跃会话大于某个阈值时自动限流,指定限流时间段,下次遇到时同类SQL时可进行相应的限流措施。

 

image.png

 

比如遇到了连接数打高-元数据锁阻塞,根因分析列表里会显示有SQL处于等待元数据锁的状态。

 

image.png

 

内存异常的根因分析页面会列出异常SQL列表,可以根据反馈的SQL在后续操作中重点关注,如果是规格太低则会推荐相应规格,也可以考虑是否升级规格。

 

image.png 

 

异常事件发生后,可以在自治中心选择时间段看查看异常事件。也可以通过配置订阅、选择相应的联系人进行告警,以便责任人第一时间收到告警,及时核实处理。

 

image.png

 

自建库往往需要提前规划好未来几年的业务容量,购买相应硬件。但使用云上RDS数据库的优势在于可以将底层资源看作资源池,可以随时发起变配操作。同时,可以通过DAS自动检测资源,并自动进行扩容,减少人为操作,能够简化日常管理。

上图展示了DAS自动伸缩分类,RDS支持的扩容主要有规格扩容、存储扩容,秒级扩核以及serverless。

 

规格扩容会有闪断的,而且只支持云盘实例,只支持MySQL的新架构实例。新架构实例指基于K8S形态部署的形态,对实例的稳定性能提供更好的支撑。

 

存储扩容仅支持ESSD云盘,不支持回缩。

 

秒级扩核的原理是与规格相关联,只支持本地通用型实例。通用型实例没有做硬性CPU绑定,因此可能存在CPU竞争。但其优势在于可以随时通过将底层的cgroup放开,快速升级核数,能够实现秒级扩核,也没有闪断,可以自动回缩。

 

Serverless是计算与存储全弹性的,仅支持云盘。

 

image.png

 

规格扩容需要指定观察窗口,观察窗口CPU利用率大于设定的阈值会触发扩容。如果扩容后平均值依然大于阈值,会继续扩容,但是扩容的规格不会超过设置的规格上限。

 

基本信息设置这里无法设置回缩配置,需要在DAS自治功能开关进行配置。

 

image.png

 

磁盘打满时,实例会变为只读,不再提供写的功能了。对于云盘类型的实例,可以设置存储扩容,通过指定上限避免存储扩得太大。

 

image.png

 

秒级扩核可以设置扩容观测窗口、CPU出发阈值以及回缩观测窗口。底层直接改cgroup,因此业务无感。

 

image.png

 

可以配置弹性策略模板,将模板批量应用到多个实例上,避免挨个配置的重复劳动。

 

目前有两种弹性策略:

 

基于预测的自动弹性伸缩:以过去10天的历史数据预测未来24小时的指标。仅预测,不执行,只给出扩容建议,不执行扩容动作。

 

定时自动弹性伸缩:适用于周期性负载的业务,比如每天早上 9 点到下午 6 点是业务高峰,可以配置定时自动弹性设备,指定每天在该时间段做一次变配。

 

image.png

 

上图为自动弹性伸缩配置详情页。包含应用策略名、原规格、目标规格、开始时间、结束时间。

 

image.png

 

上图左侧为预测型的弹性策略,预测频率为每天一次,在0-1点根据过去10天的历史数据进行未来24h的预测。目前,预测型仅支持CPU,比如CPU配置为80%,如果预测到未来20小时将超过80%,会给出扩容建议。

 

定时自动伸缩只支持共享型云盘实例,包括执行的具体操作、生效时间、重复周期、开始时间、持续时间等。

 

image.png

 

image.png

 

设置定时弹性伸缩有两种方式,其一为RDS控制台-自治中心,其二为DAS控制台-管理与设置。

 

image.png

 

DAS目前支持高可用云盘、高可用本地盘以及三节点企业版,但本地盘只能扩CPU和IOPS,不能扩内存。而云盘可以扩规格,也可以在配置时指定扩容的规格,配置路径为一键诊断-自治中心-自治功能开关。

 

image.png

 

在自治功能管理里面可以勾选自动弹性扩展,指定CPU大于某个值时做扩容,指定观察窗口期、是否要需要回缩、静默周期等。

 

image.png

 

本地盘则没有指定规格选项,因为只是扩CPUIOPS,主要通过CPU的指标判断是否需要扩核。

 

相关文章
|
7天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
23 3
|
8天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
23 4
|
6天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
19 1
|
6天前
|
存储 监控 关系型数据库
MySQL自增ID耗尽解决方案:应对策略与实践技巧
在MySQL数据库中,自增ID(AUTO_INCREMENT)是一种特殊的属性,用于自动为新插入的行生成唯一的标识符。然而,当自增ID达到其最大值时,会发生什么?又该如何解决?本文将探讨MySQL自增ID耗尽的问题,并提供一些实用的解决方案。
13 1
|
21天前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:百万级数据统计优化实践
【10月更文挑战第21天】 在处理大规模数据集时,传统的单体数据库解决方案往往力不从心。MySQL和Redis的组合提供了一种高效的解决方案,通过将数据库操作与高速缓存相结合,可以显著提升数据处理的性能。本文将分享一次实际的优化案例,探讨如何利用MySQL和Redis共同实现百万级数据统计的优化。
54 9
|
15天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
81 1
|
17天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
59 2
|
20天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
80 4
|
21天前
|
运维 关系型数据库 MySQL
运维|MySQL 数据库被黑,心力交瘁
前一阵有一个测试用的 MySQL 数据库被黑了,删库勒索的那种,这里记录一下事情经过,给自己也敲个警钟。
31 2
|
3天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
27 0