如何提高 AWS RDS 性能 - 大量读写更新

Ste*_*FAQ 6 performance database-performance amazon-web-services rds

在搜索和阅读了尽可能多的帖子、评论和讨论后,我发现我没有找到一个特定于我的问题的帖子。

我在同一个交付区域 us-west-2(c) 中有多个带有单个 RDS 的 AWS EC2 部署

我正在测试实例的负载,只是我很快就会期待的一小部分。我关心的问题是推送更新时的性能。我们将频繁地一次获取 1,000 条记录的更新,并将获取和比较我们的数据并酌情更新我们的数据。因此,每个条目一次读取和一次写入。一个小时内收到 100,000 条更新的情况并不少见。

目前,我在 AWS t2.medium 类 RDS 上有一个 MySQL 数据库,它在 22% 的 CPU 和小于 1GB 的内存下运行 5 个更新进程。

即使使用这些低数字,搜索 106.3K 记录的数据库的读取时间也需要 2 到 3 秒,而写入时间是另外 2 秒。

我需要一些关于如何改善这些读/写时间的想法。

附加信息:我还有一个副本实例正在运行。CMS 驱动的站点(100 个并且每天增长)连接到其内容的副本实例。

谢谢!

Tim*_*Tim 6

我要把我上面的评论变成一个答案。

T2 实例仅获得CPU 的小部分- t2.micro 为 10%,t2.medium 为 40%。您会获得累积的 CPU 积分,但是一旦使用它们,您就会受到 CPU 的限制。由于必须共享物理机资源,因此网络和 IO 性能也会降低。

我怀疑正在发生的是你的测试已经用完了 CPU 积分,所以你被限制了。您可以在 CloudWatch 中监控 CPU 积分,这会告诉您我的猜测是否正确。

无论我是否正确,t2 实例都不适合不断有工作进入的系统。C4 或其他通用实例可能是您最好的选择。您可以在 CloudWatch 中监控您的数据库内存和 CPU 使用情况,以帮助确定您需要的数据库实例大小。