免费体验RDS MySQL数据库代理无感切换

在实例切换等运维操作中,数据库代理的连接保持功能可以有效防止实例闪断,提升产品可用性,降低运维成本。您无需购买任何资源,即可在线体验基于连接保持功能的实例无感切换,实时观察实例性能变化与功能效果。

关于RDS数据库代理的使用问题和更多相关信息,欢迎加入用户钉钉群(106730000316)进行咨询、反馈和交流 。

背景

在发生实例切换类操作时,数据库代理的连接保持功能(免费)可以保持应用程序与代理的连接不断开,用户通过代理地址访问数据库的应用程序不会收到连接断开的报错,有效防止闪断,进一步提高实例可用性,详情请参见数据库代理连接保持功能。该功能支持的切换场景如下:

  • 主动切换:在主动主备切换、变更主实例配置、升级小版本、修改重启类参数等主动切换场景下,连接保持功能会尽可能保证连接不中断,实现无感的主动运维。

  • 故障切换:支持非预期故障切换场景下的连接保持。当数据库发生故障时,代理不会立刻断开与客户端的连接,而是将失败的读请求重新转发到可用的数据库节点,并且恢复连接状态。

说明

通用型数据库代理仅支持主动切换场景下的连接保持,独享型数据库代理支持主动切换和故障切换场景下的连接保持。

影响

本功能体验不涉及生产环境部署,不会影响您的业务。

费用

本次体验中涉及的资源不归属于您,因此不会产生任何费用,您可以放心体验。

体验内容

体验环境

在本次免费体验中,阿里云提供了如下预置环境:

预置资源

资源详情

两台RDS MySQL实例

一个实例开启连接保持功能,另一个实例不开启,其它配置均相同,如下所示:

  • 实例系列:集群系列(含一个主节点与一个备节点)

  • 存储类型:通用云盘

  • 实例规格:1664 GB

  • 内核版本:5.7.44(57_ 2024073)

两台ECS实例

两台相同配置且均已安装Sysbench压测工具的压测机,分别向两个RDS实例运行相同的压测任务,详情如下:

  • 压测场景oltp_read_write(读写压测)

  • 压测数据表大小:100张表,每张表4000行数据。

  • 并发线程数:16

  • 压测持续时间:3分钟

  • Sysbench重连间隔:10

说明

Sysbench开启ignore_error后只要收到报错就会立刻重连,设置Sysbench重连间隔为10秒可以更清晰地观察功能效果。

观测指标

本次体验模拟主动切换场景,您可以通过以下指标观察RDS实例性能变化:

  • TPS(Transactions Per Second):数据库每秒执行的事务数,以COMMIT成功次数为准。

  • 实例当前连接数:当前状态下,数据库代理接受并维持的客户端连接数量。

操作步骤

  1. 进入无感切换-RDS MySQL高可用架构升级体验页面

  2. 单击页面下方创建免费体验任务按钮,并在弹出框中单击确定image

  3. 稍等片刻后,单击image.png刷新任务列表,可以看到您创建的任务已开始。

    说明

    该任务持续压测三分钟,请在预计结束时间前进入任务详情页进行主动切换操作,完成后续体验。

  4. 单击查看详情,进入任务详情页面。此时压测任务已经开始,两个RDS实例在相同压测任务下的TPS与实例连接数是动态一致的。

  5. 单击左上角开启切换测试,同时为两个RDS实例开启主动切换,等待一段时间后可以观察到:

    • 已开启连接保持的实例:TPS下降后快速恢复,实例连接数保持不变。

    • 未开启连接保持的实例:TPS与实例连接数均快速下降至0且恢复较慢。

    image

相关内容