PolarDB-X 1.0平滑扩容是指通过增加私有定制RDS实例的数量以提升整体性能。当私有定制RDS的IOPS、CPU、磁盘容量等指标到达瓶颈,并且通过SQL优化或私有定制RDS升配已无法解决瓶颈(例如磁盘已升至顶配)时,可通过PolarDB-X 1.0水平扩容功能增加私有定制RDS实例的数量,提升PolarDB-X 1.0数据库的容量。

PolarDB-X 1.0平滑扩容通过迁移分库到新私有定制RDS来降低原私有定制RDS的压力。例如,扩容前8个库的压力集中在一个私有定制RDS实例上,扩容后8个库分别部署在两个私有定制RDS实例上,单个私有定制RDS实例的压力就明显降低。

说明 平滑扩容多次后,如果出现私有定制RDS数量和分库数量相等的情况,需要创建另外一个PolarDB-X 1.0和预期容量私有定制RDS的数据库,再进行数据迁移以达到更大规模数据容量扩展的目标。此过程较复杂,推荐创建PolarDB-X 1.0数据库时要考虑未来2~3年数据的增长预期,做好私有定制RDS数量规划。

判断是否需要平滑扩容

您可以通过观察私有定制RDS的IOPS、CPU、磁盘空间这三个指标,来判断是否需要对PolarDB-X 1.0进行平滑扩容。

在RDS控制台也可以针对这些指标设置专门的报警项,报警策略及默认阈值见下图。

456789

CPU及IOPS指标

RDS平台CPU监控信息。

RDS对IO的频率做了限制,体现在IOPS这个指标上。

对于以上两个指标,如果发现任何一个指标长期保持在80%以上或频繁收到报警信息,请考虑通过以下步骤来解决:

  1. 尝试SQL优化,CPU使用率过高的问题通常都可以通过这一步解决。

  2. SQL优化无法解决问题时,可以升高RDS的相关规格
  3. 当CPU和IOPS超标时,可以通过设置只读库的方式来分担主库负荷。注意读写分离会影响读一致性。
  4. 当以上步骤无法很好地解决问题时,请考虑进行PolarDB-X 1.0扩容。

磁盘空间

RDS的磁盘空间有以下几种:

  1. 数据空间:数据所占用的空间。随着数据的插入,空间占用量会一直增长。磁盘存储容量的余量建议保持在30%以上。
  2. 系统文件空间:包括共享表空间、错误日志文件等。
  3. Binlog文件空间:这是数据库运行过程中产生的空间。更新事务越多,空间占用量就越大。

判断是否需要扩容主要关注数据空间即可。当数据空间将要或预期要超出磁盘容量时,可以通过扩容的方式将数据分散到多个RDS。

扩容风险及注意事项

PolarDB-X 1.0扩容流程分为配置>迁移>切换>清理四个步骤。

在扩容前请注意以下事项:

  • 如果需要新增5个或5个以上RDS实例,需要事先提工单,以防后端迁移资源不足造成迁移不成功。
  • 源RDS实例扩容过程中会有读压力,请尽量在源RDS低负载时操作。
  • 扩容期间请勿在控制台提交DDL任务或连接PolarDB-X 1.0直接执行DDL SQL,否则会导致扩容任务失败。
  • 扩容需要源库表中有主键,如果没有需要事先加好主键。
  • 扩容的切换动作会将读写流量切换到新增的RDS上,切换过程大约持续3~5分钟,建议在停业务的情况下进行切换。
  • 在执行切换前,扩容动作不会对PolarDB-X 1.0产生任何影响。因此在切换前都可以通过回滚来放弃本次扩容。
  • 扩容操作对数据库有一定压力,建议在业务低谷期操作。