T2: 一种能累积计算积分的EC2实例类型



假设您打算在AWS云端执行一个小型的 Web Server,或是一个小型的数据库,平时并没有大量的工作负载。在绝大多数时间里,您的实例并不须要消耗大量的CPU资源。可是,再不怎么受欢迎的博客也可能会有突然被追评的那几分钟,再小型的数据库也可能会有数据载入时那忙碌的几十分钟。 BuildServer在Build代码时自然也希望有“请勿打搅”的时刻。面对这样的平时CPU负载很低,但有时CPU资源却在短时间内捉襟见肘的情况。

因该选择什么实例类型才最经济?


好比您租了一个可供4人居住的房间。平时却仅仅有您1人居住。但却支付着4人份的租金;节假日突然有6个亲戚同一时候登门拜訪,但您却仅仅能提供4人的空间。此刻您的心情能够理解。首先是十分地郁闷,其次您会发觉能否够这样操作:把平时多支付的3人份房租累积起来,变成一种“积分”。当空间需求突然紧张时。马上使用您的“积分”来兑换一个更大的空间而无需支付额外的费用!

 

2014年7月1日。我们推出了一种崭新的低成本EC2实例类型:T2,眼下该类型有三种size,各自是micro、small和medium。T2实例具有一种新的CPU积分功能。它可将您平时没有占用的CPU资源累积起来。用来应付将来的负载高峰。

想像一下,一个4人的房间,在高峰期能动态地容纳7人,无需额外成本,由于您平时已经在为没有使用的3人空间付费了。为什么不能让您享受这种福利呢?为什么不呢?

 

下面是T2实例的一些规格(以美国东部区域为例),请留意第3列和第5列-Baseline Performance和CPU Credits/Hour:


Baseline Performance表示实例占用的物理CPU周期百分比。CPU Credits/Hour代表实例每小时的CPU积分速率。假设实际CPU利用率低于Baseline Performance的百分比,CPU积分就会得到累积。积分是一种使用超过Baseline Performance阈值的CPU资源的能力。在实例须要这样的额外运算能力时积分会自己主动抵扣。累积的CPU积分会在24小时后过期。也就是说t2.micro最高144分、t2.small最高288分、以及t2.medium最高576分。假设您发现您总是在浪费积分,也就是实例的CPU积分总处于最高值,也许您须要使用更小的实例从而更加节省成本。

 

到底何为CPU积分?一个CPU积分表示可以使用100% 满负荷物理CPU周期1分钟。

比如。一个t2.micro实例在占用CPU10%下面的情况下执行了10小时,这样它就赢得了使用100%CPU 1小时的积分(60分,请參考规格表,以每小时6分累积)。


假设您的业务流程会在每一个工作日的開始和结束时有突发计算量,将此应用执行在T2实例上。通过使用在非负载高峰期累积的CPU积分能够使您迅速且经济有效地应付负载高峰期的运算载荷。

 

当一个T2实例的CPU积分耗尽时,它的性能会在一个15分钟的窗体中逐步回到基准水平。

配套地,有两个新的CloudWatch指标随之引入。各自是CPUCreditUsage和CPUCreditBalance,前者关注积分的消费。后者关注积分的累积。

另外。另一个好消息是每一个T2实例初始启动时就带初始的积分,假设与SSD的EBS存储组合使用这将使T2的启动速度明显比它的前辈快。

来观察一个T2实例编译Linux内核的简单样例,该实例是刚刚初始启动的:


能够看到编译共费时23分钟,通过AWS Console里的CloudWatch监控我们能够看到积分积攒和消费的情况:


图中橙线表示CPU积分的消费,波峰出如今内核编译时。蓝线显示积分值,正好与橙线的走向相反。须要额外说明的是积分(蓝线)初始并不为0。并且在開始编译前处于累积阶段,在整个编译过程中始终没有低于15分,说明实例拥有的积分全然能够应付编译过程。就像是科幻电影里的战舰护盾没有在敌人的攻击下失效,船体仍然完善。并且,在编译结束后的半小时内CPU积分又回升到了25分。

再来观察一下CloudWatch在同一时段上的有关CPU使用率的报告:


能够清楚地看到在编译的23分钟里CPU使用率为100%。这是用积分换来的计算能力而不是额外购买得来的。

 

接下来通过阶段性的重复编译模拟一个长期的场景,眼前的实例能否够应付变化的工作负载,读者您能够给出答案吗?


尽管不够确切,但还是能够给出一个T2家族与上一代实例的近似相应关系:

•   上一代t1.micro 相应 t2.micro

•   上一代m1.small 相应 t2.small

•   上一代m1.medium 相应 t2.medium

 

将上一代相应实例替换为T2实例可以给您带来显著的更良好的性能并能节省一半的成本。

提醒一下,T2使用的是HVM虚拟化,这样能够从底层CPU获得最佳的工作性能。所以您须要HVM的AMI。

最后,T2究竟意味着什么:您如今拥有了一种前所未有的经济的小型计算能力,它可以动态地满足CPU突发高负载的需求,是小微业务进入云端的绝佳入口。


posted @ 2017-07-02 11:35  brucemengbm  阅读(605)  评论(0编辑  收藏  举报