Amazon Aurora RDS 查询似乎很慢 - 想法?

Amazon Aurora RDS queries seem very slow - ideas?

我正在考虑将应用程序移动到 Amazon Aurora 以托管数据库

但是,与我的旧数据库(托管在 VPS)

相比,它似乎慢得离谱
$time = microtime(true);
$query = "SELECT id from transactions ORDER BY id DESC LIMIT 1";
$res = $db->query($query);
$row = $res->fetch_assoc();
$now = microtime(true);
echo ($now - $time);

这在我的旧服务器上始终给出大约 0.0001 的结果,但在亚马逊服务器上为 0.03。

事务 table 大约有 750k 行,并且已正确编入索引...

我重新启动了两个 MySql 个实例以获得有效读数

我还注意到,如果我故意放慢查询,例如

SELECT * from transactions where hash != '1'

它似乎占用了 Amazon 服务器,以至于它不会接受或处理任何其他查询,除非我重新启动它。

Amazon aurora 好用吗,还是我应该去别的地方看看?我原以为它开箱即用...

这里的瓶颈很可能是网络。 Aurora 并没有声称可以提供更好的延迟,它声称可以提供更好的吞吐量。如果您针对 Aurora 集群对同一查询进行基准测试,您很可能会在 Aurora 中看到更高的 TPS。您应该能够通过添加更多副本来进一步扩大规模。

我并不是说 Aurora 是更好的选择,只是说您没有评估产品的强项。

关于这一点, 对于您报告的数据大小,您看到的查询时间差异确实令人惊讶。考虑做以下实验: 1. 运行查询几次来预热缓冲池 2. 在几个实例类型上尝试相同的查询(考虑到数据大小,我认为这不会有任何区别)。 3. 在 2 个设置之间尝试 运行 sysbench,看看效果如何。

希望这对您有所帮助。