99

我是 Amazon RDS 客户,每天都会遇到 Amazon RDS 写入延迟峰值,大致对应于备份窗口。我还将在快照结束时看到峰值(例如:运行快照需要大约 1 小时,在最后 5 分钟内,写入延迟峰值)。我正在运行多可用区 m1.large 部署。

Stack 上是否有人可以解释 Amazon RDS 备份的实际工作原理?我已阅读 Amazon RDS 文档,据我所知,Amazon RDS 的行为不符合规范。具体来说,这些备份/快照操作应该会影响我的副本,因此不会造成任何停机/性能损失,或者我认为。

我可以将我的问题提炼成六个问题:

  • 快照和备份期间在技术上发生了什么,它们有何不同?(如果您回答这个问题,请告诉我您是否能够凭经验确认您的答案,或者只是引用我的文档)。
  • 在多可用区部署的备份窗口期间,是否会出现写入延迟峰值?
  • 在多可用区部署的快照结束时,是否会出现写入延迟峰值?
  • 如果我不是多可用区,我的写入延迟峰值会更高吗?
  • 在架构上,如果我在两个 m1.large EC2 实例上运行我自己的数据库,我是否能够避免这些写入延迟峰值?
  • 有没有我可以使用的配置来避免这些写入延迟峰值,同时仍然使用 RDS 托管我的数据库,或者我是否有效地受亚马逊的摆布?

额外问题:您在哪里以及如何托管您的 mysql 数据库?

除了这些日常写入延迟问题外,我可以说我对 RDS 总体上很满意。我喜欢内置的数据库监控,它的设置和使用都相当简单。

谢谢!

亚马逊 RDS 写入延迟

4

2 回答 2

81

除了在我们自己管理的一些机器上运行 MySQL 之外,我们还运行了几个 RDS 实例。我不能具体评论,因为我不是亚马逊工程师,但我学到的几件事可以解释你所看到的:

  • 尽管亚马逊没有 100% 共享后端详细信息,但我们强烈怀疑他们正在使用他们的 EBS 系统来支持 RDS 数据库。

  • 本文有助于解释 EBS 限制和快照功能http://blog.rightscale.com/2008/08/20/amazon-ebs-explained/ 同样,虽然它并不明确,但亚马逊使用此基础设施来实现提供RDS服务。

  • 通常,与快照相比,MySQL 备份涉及使用 mysqldump 之类的工具来创建 SQL 语句文件,然后再复制数据库。不需要冻结数据库即可执行此操作。使用 EBS 后端,最佳实践是在创建快照时冻结数据库(暂停所有事务)以避免数据损坏。

  • 您在备份窗口结束时看到的尖峰。如果复制在您的副本快照期间被 Amazon 暂停,则副本将需要在快照完成时“赶上”事务。这将导致延迟峰值。

  • 跨多可用区部署的复制本质上比单可用区部署要慢。您为获得更好的冗余而付出的代价。

于 2011-04-08T17:16:12.130 回答
6

亚马逊透露了他们在多可用区部署中使用的基本架构。这可以帮助人们做出决定

https://aws.amazon.com/blogs/database/amazon-rds-under-the-hood-multi-az/

于 2018-03-15T16:20:51.043 回答