上图为异常快照页面,能够查看异常指标分析,也可以查看所有指标。
然后进入之后也会展示会话快照的信息。
如上图,可以重点关注在某个时间段哪些SQL执行比较多、SQL执行量较多的占比是多少、平均执行时长是多少,可以对关注项进行排序。
操作栏点击复制样本,可以复制具体样本的SQL,点击优化可以查看优化后的执行计划,能够快速地判断SQL是否有问题,点击限流可以将SQL加入限流模板,后面遇到此类SQL会进行限流。
事务与锁快照能够展示元数据锁的信息,事务持续时间超过15秒会被记录,锁等待超过5秒也会被记录。
因此遇到锁类的问题时,也可以通过此模块快速查看问题。
慢日志统计页面记录了慢日志统计与慢日志明细,也包含异常时间段内相应的信息。可以通过排序的方式快速找到信息,也可以进行样本优化与限流。
根因分析页面会展示SQL的执行次数、平均执行时间、最大执行时间等,并给优化建议。
诊断出异常时,也可以通过配置优化与限流措施解决问题。比如平常默认仅SQL诊断,也可以选择SQL诊断并自动创建索引。但CPU正打高时不会执行DDL,需要等到实例运维时间段才会执行。因此此时添加索引并不能解决当下的问题的。针对CPU打高等问题,建议勾选“同时kill执行中的异常SQL”,先快速恢复,后面再添加索引。
也可以指定CPU大于多少/活跃会话大于某个阈值时自动限流,指定限流时间段,下次遇到时同类SQL时可进行相应的限流措施。
比如遇到了连接数打高-元数据锁阻塞,根因分析列表里会显示有SQL处于等待元数据锁的状态。
内存异常的根因分析页面会列出异常SQL列表,可以根据反馈的SQL在后续操作中重点关注,如果是规格太低则会推荐相应规格,也可以考虑是否升级规格。
异常事件发生后,可以在自治中心选择时间段看查看异常事件。也可以通过配置订阅、选择相应的联系人进行告警,以便责任人第一时间收到告警,及时核实处理。
自建库往往需要提前规划好未来几年的业务容量,购买相应硬件。但使用云上RDS数据库的优势在于可以将底层资源看作资源池,可以随时发起变配操作。同时,可以通过DAS自动检测资源,并自动进行扩容,减少人为操作,能够简化日常管理。
上图展示了DAS自动伸缩分类,RDS支持的扩容主要有规格扩容、存储扩容,秒级扩核以及serverless。
规格扩容会有闪断的,而且只支持云盘实例,只支持MySQL的新架构实例。新架构实例指基于K8S形态部署的形态,对实例的稳定性能提供更好的支撑。
存储扩容仅支持ESSD云盘,不支持回缩。
秒级扩核的原理是与规格相关联,只支持本地通用型实例。通用型实例没有做硬性CPU绑定,因此可能存在CPU竞争。但其优势在于可以随时通过将底层的cgroup放开,快速升级核数,能够实现秒级扩核,也没有闪断,可以自动回缩。
Serverless是计算与存储全弹性的,仅支持云盘。
规格扩容需要指定观察窗口,观察窗口CPU利用率大于设定的阈值会触发扩容。如果扩容后平均值依然大于阈值,会继续扩容,但是扩容的规格不会超过设置的规格上限。
基本信息设置这里无法设置回缩配置,需要在DAS自治功能开关进行配置。
磁盘打满时,实例会变为只读,不再提供写的功能了。对于云盘类型的实例,可以设置存储扩容,通过指定上限避免存储扩得太大。
秒级扩核可以设置扩容观测窗口、CPU出发阈值以及回缩观测窗口。底层直接改cgroup,因此业务无感。
可以配置弹性策略模板,将模板批量应用到多个实例上,避免挨个配置的重复劳动。
目前有两种弹性策略:
• 基于预测的自动弹性伸缩:以过去10天的历史数据预测未来24小时的指标。仅预测,不执行,只给出扩容建议,不执行扩容动作。
• 定时自动弹性伸缩:适用于周期性负载的业务,比如每天早上 9 点到下午 6 点是业务高峰,可以配置定时自动弹性设备,指定每天在该时间段做一次变配。
上图为自动弹性伸缩配置详情页。包含应用策略名、原规格、目标规格、开始时间、结束时间。
上图左侧为预测型的弹性策略,预测频率为每天一次,在0-1点根据过去10天的历史数据进行未来24h的预测。目前,预测型仅支持CPU,比如CPU配置为80%,如果预测到未来20小时将超过80%,会给出扩容建议。
定时自动伸缩只支持共享型云盘实例,包括执行的具体操作、生效时间、重复周期、开始时间、持续时间等。
设置定时弹性伸缩有两种方式,其一为RDS控制台-自治中心,其二为DAS控制台-管理与设置。
DAS目前支持高可用云盘、高可用本地盘以及三节点企业版,但本地盘只能扩CPU和IOPS,不能扩内存。而云盘可以扩规格,也可以在配置时指定扩容的规格,配置路径为一键诊断-自治中心-自治功能开关。
在自治功能管理里面可以勾选自动弹性扩展,指定CPU大于某个值时做扩容,指定观察窗口期、是否要需要回缩、静默周期等。
本地盘则没有指定规格选项,因为只是扩CPU与IOPS,主要通过CPU的指标判断是否需要扩核。