我发现 EC2(Ubuntu 12.10)上的 MySQL 可能非常慢。在我的本地 PC(Windows 7)上执行一组特定的 SQL 查询只需要 700 毫秒,而在 EC2 上则需要 13 秒以上。
数据库很小,只有12MB。查询过程中几乎没有磁盘IO。然而,EC2 实例慢了 20 倍。所有数据库都基于相同的转储:相同的表和相同的索引。查询返回相同的结果。唯一的区别是执行时间。
我尝试了 M1.small 和 M2.xlarge(其计算能力是 M1.small 的 7 倍) - 结果是一样的:查询在两台服务器上花费的时间几乎相同,而且都非常慢。
为什么会发生这种情况?