你们如何管理您的 Amazon RDS 实例?在生产中,我显然希望使用 Amazon RDS 进行主从复制设置。不幸的是,将类似的东西引入开发/质量保证环境会产生大量成本,但我们努力使开发/质量保证尽可能接近生产环境。您在日常交易中如何处理这种情况?
我们将 Amazon AWS 用于我们的 Web 服务,但鉴于他们的基础设施最近不稳定,我们正试图弄清楚如何跨多个区域运行我们的应用程序以获得额外的冗余。
理想情况下,我们会在多个区域以双活配置运行我们的整个应用程序,但我们主要担心的是我们使用的是 RDS,据我所知,RDS 无法跨区域复制。
一种可能的解决方案(尽管我们尚未尝试或证明它可行)是mysqldump每小时左右做一次 EBS 快照,但这意味着我们将被迫在主动-被动配置中运行。我们的数据最多会落后一个小时。当我们进行故障转移并且主站恢复时,这会带来数据同步方面的问题,因此这不是最佳解决方案。
是否有任何经过验证的跨区域复制 RDS 的解决方案?
我正在尝试分析系统上的慢查询,我读到我应该启用“慢查询日志”。我很好奇当我使用 Amazon Web Service 的 RDS 上托管的 MySQL 实例时如何查看此日志。
我在 AWS 上有一个正在运行的 Mysql db.m3.medium RDS 实例,使用 20GB SSD 运行,如下所示:RDS 机器描述
过去一小时的写入和读取操作如下:磁盘操作
看起来 max(write)+max(read) 操作总数约为 50/秒,这意味着它低于 3 * disk_capacity = 3 * 20 = 60 iops/秒。因此,这意味着每秒我的信用余额都会获得额外的 10 iops。
考虑到这一点,我当前的信用计数是该时间段(1小时)之前的信用计数+总和(每个第二时间范围的信用余额)?
这是计算当前 IOPS 使用情况和信用累积/计数的正确方法吗?
如果是这样,则没有 AWS 图表显示 IOPS 积分使用情况,因为有 CPU 积分使用情况,对吗?
当我们创建 RDS 实例时,我们会被问到它是否适用于生产环境。
我们无法弄清楚它们之间的真正区别是什么。
看起来“开发/测试”不允许 IOPS 配置和多可用区部署,这可能是有用的……当您运行大型应用程序时。
此外,prod 不符合免费套餐的条件……不是那种阻止您使用“开发”实例进行生产的限制。
简单的小网站,比如我们的内联网,或者一些不起眼的客户的网上商店呢?在小型生产环境中使用“开发/测试”实例有什么缺点吗?
除了 IOPS 和多可用区可用性,在功能方面是否有任何限制?
我想下载我的一个备份并将其恢复到我的笔记本电脑上以在本地测试 Web 应用程序。我正在使用 SQL Express。
这类似于这个MySQL 问题。我可以只使用 T-SQL 运行备份吗?然后以某种方式将其定向到 S3?
我一直致力于性能敏感的功能。我一直在本地开发,在我的 Mac 上运行 MySQL 服务器。一键查询在我的机器上运行时间约为1.2秒,在我可以接受的范围内。一切都运行得足够快,因此我决定将其转移到 AWS RDS Aurora 数据库上,以便我可以开始在生产中使用新系统。
但是,一旦我开始连接到 RDS 而不是本地服务器,查询的时间就开始增加两倍以上。这是比较实际查询运行所需的时间,不受网络速度的影响。我就是这样测量的。
我已将 RDS 使用的实例升级为db.r3.4xlarge,该实例具有 122 GB RAM、Intel Xeon E5-2670 v2 (Ivy Bridge) 和 16 个 vCPU。我的本地机器有 32 GB 内存和 4 GHz Intel Core i7。
我对这些东西了解不多,但无论您查看什么指标,云中的数据库似乎都在更强大的硬件上运行。
主要问题:我还可以研究什么才能使云数据库像本地计算机一样快速运行?
看似合理但事实并非如此的事情:
explain在查询开始时使用会在两个数据库上产生完全相同的索引计划。可能是因素,但我真的不知道:
我真的有点不知所措。如果有人有任何想法或建议,我们将不胜感激!
我做了一些挖掘,但很难找到一个明确的答案,因为 RDS 应该/是否需要任何形式的外部访问,即在 VPC 之外进行服务器更新、ntp 等?
假设它不是入口而是出口,即由 RDS 形成的连接?我的首选是“否”,但想仔细检查一下。
作为减轻灾难(例如恶意实体获得对我们的 AWS 帐户的完全访问权限并删除所有内容)的措施,我正在为我们的生产数据库设置异地备份。我们在 AWS RDS 上使用 PostgreSQL。我们在 RDS 上启用了每日备份。
我想出了以下两个选择:
1)(每天)下载RDS生成的数据库快照(尽管我不确定这是否可以编写脚本甚至可能)
2)(每天)启动只读副本并在该副本上使用 pg_dump 来备份数据库
实现这一目标的最佳方法是什么?
如果这有帮助的话,我们已经有了一个可以对 s3 存储桶进行日常备份的工具。