Amazon AWS RDS 突发余额与 CPU 信用余额

Amazon AWS RDS 突发余额与 CPU 信用余额

我正在尝试了解我是否已正确指定我的数据库。下面的图表显示了 SQL Server 的 t3.xlarge 实例的WriteIOPSCPUCreditBalance。考虑到相当稳定的 WriteIOPS 速率,BurstBalance看起来我BurstBalance还需要 15 小时左右才能用完我的。但是,CPUCreditBalance正在稳步增加。

AWS CloudWatch 指标

15 小时后会发生什么?数据库会不会受到限制?我试图了解指标定义在这里描述在这里,但我不确定这两个余额之间的区别到底是什么——有人可以澄清这两个余额指标的含义吗?

答案1

CPUCreditBalanceBurstBalance是两个不相关的指标。

在 T 型实例上,您有一个CPUCreditBalance。如果您的 CPU 使用率持续上升,您的信用余额将耗尽,机器将受到限制。T 型实例仅适用于间歇性工作负载。如果大小不合适,任何进程(即使是错误的进程)即使持续消耗少量 CPU,也可能会破坏系统。表格这里显示 t3.xlarge 可以以每 vCPU 40% 的基准运行,既不会获得也不会失去信用。任何使服务器以高于该速率运行的操作都会消耗信用,直到系统用完信用并被限制到基准速度。本质上,您的系统将被限制到 40% 的 CPU 使用率。

另一方面,BurstBalance是支持 EC2 或 RDS 实例的 EBS 存储卷的功能。当您配置标准 gp2 存储卷时,它会提供性能基准。但是,您可以获得积分以超越该性能。卷越大,基准性能越大。如果您有一个消耗磁盘(读取或写入)的进程,它将比基准性能运行得更快,直到余额耗尽。然后它将被限制为基准性能。有关更多信息这里

在您的图表中,您缺少关键值,即和CPUUtilizationReadIOPS您会看到,当您持续读取或写入磁盘 IOPS 时,您的突发余额会减少。当它用完时,您将被限制在磁盘的基线性能。此外,您会发现,如果您持续使用 CPU,您的信用余额将会减少。当它用完时,您的 CPU 将被限制在基线性能。

根据您的工作负载,您可能需要调整实例或卷的大小以满足您的需求。或者,您可能需要更改为非突发实例类型以获得可靠且一致的 CPU 性能。或者,您可能需要更改为预配置的 iops 存储卷以获得可靠且一致的磁盘性能。

答案2

如果你的负载是 24/7 持续的,那么 BurstBalance(EBS 磁盘)就会耗尽。有一篇很好的博客文章介绍了这一点这里。但是,如果您的负载在非工作时间减少,突发平衡可能会恢复。

如果您有 GP2/GP3 磁盘,我建议增加磁盘大小,因为您的突发平衡将更快增加。如果是 IO1/IO2,请增加分配的 IOPS。

相关内容