1

我有一个运行 MySQL 5.5.46 的 RDS 实例,它有一个主键的表int,它目前有 19 亿条记录,接近 21 亿条限制和约 425GB 的大小。我正在尝试使用 pt-osc 将列更改为bigint.

我能够在测试服务器 (m3.2xlarge) 上成功测试更改,虽然完成大约需要 7 天,但它确实成功完成。该测试服务器没有额外的负载。(旁注:7 天似乎很长)。

对于生产环境,不存在复制/从属(但有多可用区),为了帮助解决资源争用和加快速度,我使用了 r3.8xlarge 实例类型。

两次尝试后,生产迁移将达到 50% 左右,还剩 1 天,然后 RDS 似乎会停止接受连接,迫使 pt-osc 两次回滚或彻底失败,因为 RDS 需要重新启动。

我在 RDS 控制台或日志中没有看到任何明显的信息来帮助说明发生这种情况的原因,我觉得实例类型应该能够处理大量连接/负载。

在我现在第三次尝试期间查看 CloudWatch 指标,数据库服务器本身似乎没有承受太多负载:5% CPU、59 个数据库连接、45GB 可用内存、写入 IOPS ~2200-2500。

想知道是否有人遇到过这种情况,如果有,对连接问题有什么帮助?

如果有人对如何加快整个过程有建议,我很想听听。我正在考虑尝试更长的chunk-size下班时间,但不确定这最终会如何影响应用程序。

4

0 回答 0