我在悉尼地区创建了一个 Amazon Aurora 实例并在其上恢复了我的 RDS 快照。我正在我的一张表上执行一个简单的查询,其中大约有 6k 条记录,返回一个非常慢的结果。我没有更改链接到我的实例的默认参数组中的任何参数。此查询在我现有的 RDS 实例上完美运行,参数相同,0.200 秒,并返回快速响应。但同样的查询在 Aurora 上大约需要 0.350 秒。我的查询计划 (EXPLAIN) 显示我没有问题。它使用 PRIMARY 索引来获得结果。所以,我不明白,为什么这么慢?我需要配置参数吗?因为他们声称 Aurora 比 RDS 快 5 倍。我该如何检查?谢谢。
2 回答
Aurora 也是一种基于 MySQL 的 Amazon RDS。您是如何将数据从 RDS(哪一个?)迁移到 RDS 上的 Aurora?您是否使用 Amazon DMS 在 Mysql/MariaDB/Aurora RDS 到 Aurora RDS 之间迁移数据?您说您恢复了快照-(不可能从非 Aurora 快照恢复 Aurora)。
当我通过 Amazon DMS 从其他非 RDS MariaDB 迁移数据时,我遇到了 MariaDB 和 Aurora 的性能问题。它非常慢!MariaDB 和 RDS DM 之间的迁移过程没有问题,没有错误/警告日志,但它运行起来非常缓慢,几乎所有查询都比使用 MariaDB 的标准(小得多)EC2 实例花费的时间多 100 倍。我尝试增加 IOPS、调整 RDS 大小、更改参数等。没有任何帮助!
我的解决方案是不使用 DMS 迁移(这在表创建模式中发生了很大变化)。我mysqldump
使用 MariaDB 在 EC2 实例上做了一个并将其恢复到新的 MariaDB RDS。一切都开始按预期工作,表现良好。
我们没有使用 Amazon DMS 迁移到 Amazon Aurora。在考虑了这些选项之后,我们改为使用 Aurora 只读副本。这篇关于数据库迁移到 Aurora 的文章描述了经验,可能会有所帮助 https://blog.codacy.com/database-migration-to-amazon-aurora/