「助力降本增效」RDS发布实例暂停以及云盘性能等级动态调整功能

引言

数据库和IDC自建数据库一个重要的区别是弹性,IDC自建不具备或者只具备有限的弹性能力,而云能够利用IaaS资源层的能力帮助客户快速进行数据库弹性。阿里云RDS产品团队在基于云IaaS层能力以及RDS产品内核与管控能力的提升,近期推出了如下两项功能:

  • RDS MySQL云盘版实例暂停功能
    • 数据库在闲置状态下,实例可以暂停,暂停期间仅收取存储费用。在客户业务负载到来时,又能够快速拉起;
  • RDS MySQL以及RDS PostgreSQL推出云盘性能等级的动态升降
    • 客户可以根据实例业务负载情况,在高峰期动态无损升级云盘性能等级,在低峰期动态降级性能等级。

本文将针对上述两个产品功能及其实现机制做详细介绍。

RDS MySQL云盘版实例暂停功能

RDS MySQL云盘版支持实例暂停功能;暂停后的实例仅收取存储费用,而计算资源将被释放,不再计费,从而达到节省成本的目的。

核心竞争力

  • 资源解耦:解绑计算和存储资源,停机后只针对存储资源进行计费
  • 节点池化:利用资源的快速生产+主机上线提速能力,实现节点池快速扩容
  • 离线调度:定期的触发资源池内Pod的资源腾挪和成本压缩

实例暂停流程

整体RDS MySQL暂停分为两部分:

  • 阶段一:资源保留,断开网络连接;
  • 阶段二:计算资源释放,存储资源保留;

「助力降本增效」RDS发布实例暂停以及云盘性能等级动态调整功能

架构图

暂停 VS 启动

「助力降本增效」RDS发布实例暂停以及云盘性能等级动态调整功能

当实例暂停后如何快速启动

实例暂停后的快速启动是实现该功能最具挑战的技术难点。为了确保实例快速启动,RDS的管控和内核团队在这方面做了分别针对性的优化:


管控层面

目前MySQL数据库云盘版通过容器部署,用过容器开发或部署的同学都了解容器的启动流程,即镜像下载、镜像解包、容器启动,其中镜像的完整下载、解包,需要花费很长时间,但就容器启动而言,往往并不需要使用全部的镜像数据,为了降低该时间,我们引入了镜像加速来加速实例启动时间。通过镜像加速,实现了远程镜像的细粒度按需加载,启动前不再需要部署镜像,在创建后可立即启动,启动时间减少了一倍。


内核层面

RDS MySQL针对MySQL实例启动和Crash Recovery做了多方面的优化,提升RTO。例如,我们通过Buffer Pool的并行加载,redo日志的并行parse和apply,以及binlog in redo等手段,达到如下效果:

  • 大事务的Crash Recovery时间,从小时级提升到秒级
  • 将大实例(512GB内存)的启动恢复时间,从12秒降到2秒;

最佳实践

实操

  • 暂停实例
  1. 登录RDS管理控制台,在左侧单击实例列表,然后在上方选择地域;
  2. 找到需要暂停的实例,单击右侧操作列的更多 > 暂停待用。
  • 启动实例
  1. 登录RDS管理控制台,在左侧单击实例列表,然后在上方选择地域;
  2. 找到需要开启的实例,单击右侧操作列的更多 > 启动实例;
    「助力降本增效」RDS发布实例暂停以及云盘性能等级动态调整功能
  3. 在弹出的窗口中单击确定,等待实例运行状态变更为运行中。


前提条件

  • 实例的付费类型为按量付费。如果您的实例为包年包月,可先转换成按量付费;
  • 实例类型为RDS MySQL ESSD云盘版即可;
  • 实例规格必须是通用类型,独享型暂时不支持;
  • 该实例下面没有只读实例或者数据库代理;
  • 实例关闭的时候,请确保该实例没有大事务或者大查询在运行,否则会被强制结束;


注意事项

  • 实例暂停时长上限为15天,如果15天后您仍未启动实例,实例将自动启动,以便进行必要的维护;
  • 实例暂停期间所有功能均会失效,包括连接实例、备份、变配等,请在暂停前做好业务调整。

云盘PL等级的动态调整

新一代RDS云盘版实例全部基于新一代分布式块存储构建,其特点是具备更高的IOPS、更高的吞吐量和更稳定的I/O性能。为了让客户有更好的性能,RDS MySQL以及RDS PostgreSQL两个产品支持客户控制台动态调整云盘性能等级(PL=Performance level)。这样的好处是在实例较为空闲的时候选择一个费用更低的PL等级,在实例业务负载突增的时候可以选择一个性能更好的PL等级。与此同时,相关性能等级详见下面图标:

「助力降本增效」RDS发布实例暂停以及云盘性能等级动态调整功能

回顾&总结

降本增效是上云客户的强诉求,也是今后一段时间我们产品研发的主旋律。在过去一年时间里,阿里云RDS产品团队陆续推出了RDS MySQL Serverless、RDS PostgreSQL数据库代理、RDS MySQL基础版只读等降本增效的产品能力。这些能力在实际生产环境中,帮助我们的客户实现业务上云后的成本缩减,让客户感受到云技术的红利!在将来,我们会有更多硬核技术推出,帮助我们的客户解决业务实际问题,切实体会到云计算的弹性和魅力。

作者信息

李宗源,花名厘想,隶属于RDS产品部,致力于让客户更好的使用RDS MySQL服务。

如果对于RDS数据库服务有任何问题or咨询,请发邮件至:vogts.wangt@alibaba-inc.com