IT 相关 · 2019 年 11 月 1 日

阿里云的突发性能实例居然不限制 CPU 计算性能?

每年的双 11 前夕,各路云厂商又纷纷推出双 11 给力特惠活动。当前阿里云的双 11 活动又让许多站长蠢蠢欲动,尤其是 1 核 2G 的突发性能型 t5 实例,只要 1 年 86 元,3 年 229 元的价格。很多小伙伴看到诱人的价格的同时,发现这款实例赫然标着 「20% 性能基线」 的字样,又惊呼 「套路深」 、 「低价吸引眼球」 等哀叹声,以为 CPU 的计算能力限制到只能发挥出普通性能实例的 20%,那你就大错特错了!从阿里云推出突发性能实例至今,博主也一直深深地认为突发性能实例肯定对性能有着限制,经过仔细阅读阿里云的官方文档,发现突发性能实例性居然不限制 CPU 计算性能!那么突发性能型实例到底是什么,性能基线又是怎么一回事呢?

突发性能实例特点

首先,突发性能实例有个 「CPU 积分」 的概念,先来说说 CPU 积分是怎么回事。突发性能实例创建后会对实例的每个 vCPU 分配 30 个 CPU 积分,即初始 CPU 积分。例如,2 核云服务器配有 2 个 vCPU,创建实例后拥有 60 个初始 CPU 积分。 4 核的配有 4 个 vCPU,新建实例拥有 120 个初始 CPU 积分。 CPU 使用率等于基准性能时,突发性能实例获得的 CPU 积分和消耗的 CPU 积分相等。

假设我们的实例的基准性能为 20%,那么每小时获得的 CPU 积分刚好可以供该 vCPU 以使用率 20% 运行 1 小时 (CPU 积分无变化),以使用率 100% 运行 12 分钟 (60 分钟*基准性能 20%) 。是的,你没看错,CPU 使用率是可以超过 20%,甚至可达到 100% 。有的小伙伴要吐槽了,只有 12 分钟根本不够啊,超过 12 分钟不一样限制了吗?这又要从 CPU 积分的获取和消耗说起了。

CPU 积分获取与消耗

CPU 积分获取与基准性能对应,每个 vCPU 每小时获得 12 个 CPU 积分,因此我们的双核实例每小时可获得 24 个 CPU 积分。当 vCPU 使用率低于 20% 时,也就是出现了获得的 CPU 积分大于消耗的 CPU 积分的情况,那么会把没用完的 CPU 积分进行累积,累积的 CPU 积分最多保存 24 小时。

CPU 积分的消耗方式不多作说明,直接搬一下官方文档的说明:

CPU 积分的消耗速度和突发性能实例的 vCPU 数、 CPU 使用率和工作时间有关。例如,以下三种情况都会消耗掉 1 个 CPU 积分:
1 个 vCPU 以 100% 使用率运行 1 分钟
1 个 vCPU 以 50% 使用率运行 2 分钟
2 个 vCPU 以 25% 使用率运行 2 分钟
突发性能实例开机后即消耗 CPU 积分维持计算性能,优先消耗初始 CPU 积分,初始 CPU 积分消耗完毕后不会恢复,之后只可消耗获得的 CPU 积分。
当 CPU 使用率低于基准性能时,消耗的 CPU 积分少于获得的 CPU 积分,CPU 积分余额逐渐增加。
当 CPU 使用率等于基准性能时,消耗的 CPU 积分等于获得的 CPU 积分,CPU 积分余额保持不变。
当 CPU 使用率高于基准性能时,消耗的 CPU 积分大于获得的 CPU 积分,CPU 积分余额逐渐减少。

当我们的实例在突发状况时 vCPU 使用率会超过基准性能 20%,假设满负荷运行 100%,那么可以运行 12 分钟,超过 12 分钟时就会消耗之前 24 小时内累积没用完的积分。相信绝大多数小伙伴的服务器不可能 24 小时都是高负荷运行的吧!有的小伙伴又要问了!(小伙伴的问题有点多) 如果累积的积分也消耗完了呢?这里要说到突发性能实例的 2 种模式:性能约束模式和无性能约束模式。

性能约束模式和无性能约束模式

在无性能约束模式下,当积分消耗完后会预支未来 24 小时可以获得的 CPU 积分 (预支部分免费),当可预支的 CPU 积分不够时,会产生费用,当前的收费是 0.005 元/积分 (非中国大陆地域的 Windows 实例是 0.01 元/积分) 。

阿里云的突发性能实例居然不限制CPU计算性能?已购买的突发性能实例开启无性能约束模式

阿里云的突发性能实例居然不限制CPU计算性能?1购买时选择是否开启无性能约束模式

突发性能实例无论在新建时和新建后,无论是包年包月预付方式购买还是按量购买都可以选择是否开启无性能约束模式。

如果要避免被收费,可以不开启无性能约束模式,即性能约束模式。当积分消耗完时,这时 CPU 就无法超过 20% 了,这里还要提个比较人性化的设计,当积分较少的时候,实例性能将在 15 分钟内逐渐下降到基准性能水平,而不是突然急剧下降性能。

查看 CPU 积分

在控制台实例详情中可直观地查看 15 天内消耗 CPU 积分、累积 CPU 积分、超额 CPU 积分、预支 CPU 积分的详情情况。

阿里云的突发性能实例居然不限制CPU计算性能?2

要不要选择突发性能实例

当打开无性能约束模式时,突发性能实例与其它实例进行对比,以突发性能实例 ecs.t5-lc1m2.large 与企业级实例 ecs.c5.large 为例,两款实例均是 2vCPU 4GiB 。假设 ecs.t5-lc1m2.large 实例的初始 CPU 积分、 CPU 积分余额和预支 CPU 积分已消耗完毕,则使用超额 CPU 积分时的成本变化趋势如下图所示。

阿里云的突发性能实例居然不限制CPU计算性能?3

图中按量付费小时价格根据 ecs.t5-lc1m2.large 配置 (基准性能 10% 、 2 vCPU) 和超额 CPU 积分价格 (华北 2 地域、 Linux 实例) 计算得出,供您了解成本变化趋势。条件变化时计算方式相同,但具体临界值存在差异。

可以看到,在使用配置为 2vCPU 4GiB 的实例时,如果突发性能实例已经开始消耗超额 CPU 积分:

  • 平均 CPU 使用率小于 57.83%,则选用突发性能实例 ecs.t5-lc1m2.large 的成本更低。
  • 平均 CPU 使用率等于 57.83%,则选用突发性能实例 ecs.t5-lc1m2.large 和企业级实例 ecs.c5.large 的成本相同。
  • 平均 CPU 使用率大于 57.83%,则选用企业级实例 ecs.c5.large 的成本更低。

因此,如果能准确预估性能需求,可根据 CPU 使用率临界值选购实例类型,从而在控制成本的同时保证业务正常运行。

下面列出几款热销突发性能实例规格的成本变化趋势。

阿里云的突发性能实例居然不限制CPU计算性能?4

阿里云的突发性能实例居然不限制CPU计算性能?5

阿里云的突发性能实例居然不限制CPU计算性能?6

阿里云的突发性能实例居然不限制CPU计算性能?7

结语

突发性能实例并不是直接限制 CPU 性能,而是不适合长期高负荷使用。这也是阿里云针对用户购买云服务器后发现使用率不高推出的,如果你购买的服务器使用率不是很高 (CPU 使用率在普遍在 50%-70% 以下),例如只是方便临时开发测试、给客户临时搭建产品进行演示,或者网站访问量比较低,但是又要保证访客访问时不影响性能。那么墙裂建议可以选择高性价比的突发性能实例。

领阿里云最高¥2000 红包
(可叠加官网常规优惠使用)

腾讯云特惠专区

参考链接
突发性能实例概述
https://help.aliyun.com/document_detail/59977.html
CPU 积分变化示例
https://help.aliyun.com/document_detail/90635.html
突发性能实例计费
https://help.aliyun.com/document_detail/90581.html