【发布时间】:2016-07-19 06:18:37
【问题描述】:
我在悉尼地区创建了一个 Amazon Aurora 实例并在其上恢复了我的 RDS 快照。我正在我的一张表上执行一个简单的查询,其中大约有 6k 条记录,返回一个非常慢的结果。我没有更改链接到我的实例的默认参数组中的任何参数。此查询在我现有的 RDS 实例上完美运行,参数相同,0.200 秒,并返回快速响应。但同样的查询在 Aurora 上大约需要 0.350 秒。我的查询计划 (EXPLAIN) 显示我没有问题。它使用 PRIMARY 索引来获得结果。所以,我不明白,为什么这么慢?我需要配置参数吗?因为他们声称 Aurora 比 RDS 快 5 倍。我该如何检查? 谢谢。
【问题讨论】:
-
您是否比运行单个查询更彻底地对此进行了基准测试?另请注意,他们声称(文档更深入 - 营销副本有点不负责任)Aurora 最高快 5 倍,吞吐量,而不是单个查询。跨度>
-
SELECT 1;在每台机器上占用多长时间?这可能会衡量他们有多远。你在哪里(在世界上)? -
@RickJames,我来自印度,我的实例位于澳大利亚悉尼。距离对这么长的延迟有影响吗?目前,如果我在本地 mysql 数据库上运行查询,它会在 72 毫秒内返回结果,来自 RDS(新加坡)的相同查询会在 172 毫秒内返回结果。意味着大约 100 毫秒可能是距离延迟。我说的对吗?
-
距离很重要,因为电子通过导线的速度会导致延迟。世界的对面相距至少 200 毫秒。我不知道你的链接有多直。链接的澳大利亚端可能在海洋中,并且必须绕着该国走一半(不是笔直的)。它甚至可能经过日本从印度到达悉尼。
-
@ManishSapkal 嗨,我在将 MySQL RDS 迁移到 Aurora 时遇到了同样的问题。建议你改题“当EXPLAIN结果相同时,如何知道MySQL和Aurora的解释的区别?”的标题?
标签: mysql amazon-web-services database-performance amazon-rds amazon-aurora