- 什么是突发性能实例?
- AWS 实例中的 CPU 突发
- 基线性能与 CPU 额度
- CPU 额度的获取
- CPU 额度的消耗
- 示例计算:t3.2xlarge
- 突发带宽
- 突发带宽的工作原理
- 突发带宽的使用场景
- CPU 突发与带宽突发的对比
- 总结
在 AWS 的众多 EC2 实例类型中,突发性能实例(burstable instances)因其灵活性和成本效益受到广泛青睐,尤其适用于性能需求波动较大的应用程序。本文将详细介绍什么是突发性能实例,如何利用 CPU 和带宽突发功能,以及这些功能如何帮助你优化工作负载。
什么是突发性能实例?
突发性能实例(如 AWS 的 t3
系列)设计用于提供一个基线性能,同时允许实例在需要时“突发”到更高的性能水平。这种设计特别适合那些通常只需要较低或中等资源使用率,但偶尔需要更高性能的应用程序。
AWS 实例中的 CPU 突发
CPU 突发功能允许实例在短时间内超出其基线 CPU 利用率。下面是其工作原理:
基线性能与 CPU 额度
每个 AWS 突发性能实例类型都有一个基线 CPU 利用率。例如,t3.2xlarge
实例的基线 CPU 性能为 40%,意味着它可以连续使用其总 CPU 容量的 40% 而无需消耗任何 CPU 额度。
CPU 额度的获取
- 额度获取速率:
t3.2xlarge
实例根据其基线性能获取 CPU 额度。具体来说,它每小时获取 192 个 CPU 额度,计算方式为总容量的 40%(40% * 8 个 vCPU * 60 分钟)。 - 闲置 CPU 时间:当实例在低于基线(如 20% CPU 利用率)运行时,它依然会获取额度,因为它并未消耗这些额度。
CPU 额度的消耗
- 超出基线的突发:如果工作负载需要超过 40% 的 CPU 性能,实例将消耗积累的 CPU 额度,以临时提升 CPU 性能。每个 vCPU 在 100% 利用率下运行一分钟会消耗 1 个 CPU 额度。
- 额度积累:未使用的 CPU 额度会累积,允许实例在未来的突发中使用这些额度。
示例计算:t3.2xlarge
让我们详细了解 t3.2xlarge
实例的 CPU 额度工作原理:
- 基线额度获取:每小时 192 个 CPU 额度。
- 额度使用:如果实例在 100% CPU 利用率下运行 10 分钟,它将消耗 80 个 CPU 额度(8 个 vCPU * 10 分钟)。
- 额度余额:如果只使用了 40 个额度,则会剩余 152 个额度用于未来的突发。
突发带宽
除了 CPU 突发,某些实例还支持突发网络带宽。这一功能使实例能够在需要时,短时间内超出其基线网络性能,以应对流量激增或大规模数据传输。
突发带宽的工作原理
- 基线带宽:每个实例都有一个可持续的基线网络带宽。例如,一个实例可能有 1 Gbps 的基线吞吐量。
- 突发:当网络需求增加时,实例可以超出基线带宽,利用所在区域的可用网络容量进行突发。
- 自动管理:与 CPU 突发不同,带宽突发没有额度系统,AWS 会根据网络条件和实例类型自动管理带宽突发。
突发带宽的使用场景
- 应对流量激增:对于偶尔会有高流量的应用程序,突发带宽可以帮助处理这些负载,而无需升级到更昂贵的实例类型。
- 大规模数据传输:突发带宽可以显著减少大规模数据传输所需的时间,提高整体效率。
CPU 突发与带宽突发的对比
虽然 CPU 和带宽突发都提供了灵活性,但它们的运作方式有所不同:
- CPU 突发:涉及一个额度系统,未使用的额度会积累,并在突发时消耗。
- 带宽突发:由 AWS 自动管理,无需用户干预,也没有额度系统。
总结
像 t3
系列这样的 AWS 突发性能实例,为资源需求波动较大的工作负载提供了经济高效的解决方案。通过理解 CPU 和带宽突发的工作原理,你可以优化应用程序的性能,在应对高峰期的同时避免为持续高性能资源支付额外费用。无论是处理偶发的 CPU 密集型任务,还是应对偶尔的网络流量激增,突发性能实例都为你提供了有效管理工作负载的灵活性。