有没有人有任何经验,当涉及到小型服务器上的Amazon RDS与MySQL的速度?

EC2 Small vs Amazon RDS – 哪个更快?

(我有一个数据库,索引和调整很好,每个表上大约有10,000行)。

performance如何?

首先,我不使用RDS – 所以不要把它当成绝对的。 和EC2一样,RDS也是按实例types分类的,所以在计算方面你会得到同样的结果。 差异归结为“configuration”和硬件的专用程度。

RDS的优势:

  • 硬件专用于只运行RDS – 不与“通用”实例共享
  • 可能更好的networkingI / O
  • 提供了一个很好的,通用的“开箱即用”configuration
  • 更新是为你pipe理的
  • 可能更容易设置基本的复制
  • 良好的configuration界面
  • 备份存储包含在成本中

RDS缺点:

  • 比同等EC2实例成本更高(约40%以上)
  • 有限的定制
  • 性能可以高度可变(特别是磁盘I / O)
  • 如果使用单个RDS实例,则所需的维护可能会导致停机(可通过多可用区域部署来避免)
  • 这是超出你的控制

EC2优点:

  • 可以设置RAIDarrays来增加磁盘I / O
  • 在定制(访问my.ini)和维护方面更灵活
  • 更低的成本
  • 如果调整得当,应该能够达到相同或更好的性能
  • 允许更常规的复制和故障转移
  • 可以设置自定义监控/分析 – 直接处理问题

EC2缺点:

  • 需要更多的技巧/努力来设置
  • “开箱即用”的性能不如RDS
  • 不太稳定的networkingI / O

我会build议如下:

  • 如果你不想麻烦和/或无法令人满意地调整MySQL – 去RDS
  • 如果networkingI / O将会产生很大的变化(通常是同时使用多个线程的设置)–RDS将提供更稳定的性能
  • 如果你需要细粒度的控制(或者不需要更好的性能),或者需要注意成本,那就去EC2吧
  • 如果你想随着你的成长学习MySQL,那就去EC2吧

对于任何特定的用例,最好的select可能是对每个基准进行基准testing,看看它们是如何叠加的 – 对于每个设置,性能会有所不同。

进一步阅读:

我无法评论@ cyberx86的答案,所以我不得不用我自己的答案。 回复:RDS数据库性能在EC2 DB开箱即用性能之上

我一直在逐渐削减我的AWS资源 – 尽可能地改变中小型实例,优化应用程序级别等等。我目前的工作是testing一个MariaDB的RDS小实例与一个带有MariaDB的EC2小实例(可能节省$ 8 / MO)。 我没有试图优化EC2实例上的MariaDB,除了设置我想要的默认字符集和sorting规则,并使Aria成为默认的表types。

我的testing集是一个包含150个表格的数据库,大多数不到1000行,一个大约500k,一个10mil。 如果存在/创build样板文件,存档大小,tar和gzipped sql,只是不到90米。 安装在一个数据库中,它是1.4GB。 下面的所有操作都从相同区域(us-east)的另一个EC2实例运行,并根据需要使用mysqlmysqldump 。 RDS实例和调用EC2实例是us-east-1a,EC2 MariaDB实例是us-east-1c。

 Export from RDS-small MariaDB to the archival format averaged 51s across 10 tests. Export from EC2-small with MariaDB to the archival format averaged 40s across 10 tests. Import to RDS-small MariaDB from the archival format averaged 8:17 across 10 tests. Import to EC2-small with MariaDB from the archival format averaged 5:33 across 10 tests. 

这不是一个科学testing,但我试图在执行中保持一致。 这个结果不是我所期望的。 我build议任何人提问“EC2与DB或RDS?” 从他们的应用程序的操作和testing中find一个或两个基准testing…然后也许find另一对,这是我今天要做的。