AWS RDS db.t2 实例性能阈值和监控

rph*_*air 8 amazon-ec2 amazon-web-services amazon-rds amazon-cloudwatch

我们一直在为 Drupal 和 WordPress 等主流 CMS 软件推出标准的 Web 服务器配置,服务器和存储在 EC2/EBS 上,数据库在 RDS/MySQL 中。

通常我们会使用t2.micro CPU 和db.t2.micro DB进入生产,这让客户对我们和 AWS 感到满意,因为他们通常可以在第一年继续使用免费套餐。EC2 上的默认监控工具会清楚地显示我们何时可能超出 Web 主机最宝贵的资源,即CPU 利用率。如果阈值接近或超过 10%,那么我们就知道是时候迁移到t2.small实例类型了。

我们不太确定如何确定何时可能需要从db.t2.micro升级到db.t2.small甚至更远。这些要求不涉及多可用区或只读副本,只是在 CMS 软件可能在高峰期严重依赖数据库的情况下,我们需要通过图表或警报来发现。

EC2 实例文档清楚地指出了它们自己的限制是什么,我想知道是否可以针对我们的简单案例推荐 RDS 实例的任何此类限制。他们的 Amazon RDS 最佳实践中的一般要求很有帮助,尽管我没有遵循所有链接,因为我只是试图设置我们可以设置的阈值,这些阈值将明确要求以我非的方式升级数据库实例技术客户可以理解和观察。

我承认我不是 DBA;由于我的工作性质,我将数据库架构留给了 CMS 软件的设计者。如果有人告诉我从哪里开始,我当然愿意学习性能评估的基础知识,因为它与 AWS 平台上的此配置相关。也许我只是还没有找到合适的官方文档或教程。

或者:我们只需要根据我们在 CloudWatch 上看到的内容,知道如何定量测量访问我们的 RDS 实例的任何延迟是否是由于实例大小太小(或者可能是 MySQL 资源参数设置得太低)造成的。

简单地说,我可以判断 CloudWatch 指标Freeable Memory 是否接近于零,那么我们需要升级实例。和我们的 EC2 实例一样,也必须有一个最大CPU 利用率,我猜它会远低于 100%,尽管我还没有像 EC2 那样看到这个记录。我想DB Connections会有一个实际的最大值。最后,我希望有人能告诉我如何解释写入 IOPS 和读取 IOPS,以及这些是否会对像我们这样的小型配置施加性能限制,或者它们是否仅用于计算成本。

ps,我尝试在AWS 论坛上发布此内容:Amazon Relational Database Service,Post New Thread链接目前会产生“重定向循环”。(对不起,我不能在这里包含更多的 URL,但我不允许。)

[编辑,回复评论]谢谢@Ross,我不知道CPUCreditBalance在 RDS 上也可用(我在 EC2 上看到过);没有看到第二个屏幕还有 7 个指标,所有 17 个指标都可以从列表中选择。我仍然想知道根据 RDS 实例类型,可能会对 CPU 以外的可监控资源施加哪些限制,尤其是 I/O 活动。

pps,我提炼了更多问题并发布在 AWS 论坛上(如何使用 CloudWatch 统计信息确定 RDS T2 实例的大小是否合适?

rph*_*air 7

在过去的几个月里,我对此有一些看法,我相信这些值得关注的项目将解决上述所有问题:

1)@Ross 对原帖的评论是关键。T2 实例,无论何种规模,无论是 EC2 还是 RDS,都会在 CPU 积分耗尽时停止执行,因为峰值 CPU 需求仍在继续。

2) 我们最常看到的 CMS Web 服务器的故障模式正是通过这种情况来显示的:当httpd进程所需的 CPU 百分比超过分配给该实例类型的 CPU 百分比时,CloudWatch 图趋向于零(请参阅下面的文档链接) .

3)CPU积分耗尽的T2实例的快速解决方案是关闭,升级实例类型,然后重新启动实例,大约需要3-4分钟。不同实例类型的容量的最重要的描述在这里:http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html

4) 为此,AWS 上的任何生产 Web 服务器都必须预先分配一个弹性 IP 地址:如果没有,并且实例被重新缩放,IP 地址将发生变化,从而使 Web 服务器无法访问,否则将远远超过 3- 4 分钟的停机时间。

5)获得更多CPU积分的唯一途径是升级机器类型。上面的文档链接中描述了每个 T2 实例大小可以容纳的积分数量:它始终等于实例类型在 24 小时内将完成的 CPU 工作。

6) 在峰值性能需求减弱后,机器可以在预定的停机时间(再次,3-4 分钟)内恢复到其原始规模。

7) 到目前为止,I/O 活动在任何高峰期都没有对我们的 Web 服务器造成任何性能下降。IOPS 量严格由 EBS 卷大小决定。这里描述了 IOPS 的确切含义和这种关系:http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html

8) Cloud Watch 指标Freeable MemoryDB Connections都没有用于预测或纠正 Web 服务器密集型环境中的性能问题。