假设您打算在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%。这是用积分换来的计算能力而不是额外购买得来的。

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXdzY2hpbmE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="692" height="277" alt="">

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

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

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

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

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

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

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

T2: 一种能累积计算积分的EC2实例类型的更多相关文章

  1. EC2(elastic compute cloud,弹性计算云,又称EC2实例)

    (一)定义:EC2和实例EC2(elastic compute cloud,弹性计算云),即云中的虚拟服务器. 是用于在云中创建和运行虚拟机的 Amazon Web 服务.简言之,EC2就是一部具有无 ...

  2. Win7网上邻居提示未授予用户在此计算机上的请求登录类型解决办法

        内容简介 装了Win7之后很多人遇到这样的问题,网上邻居访问Win7的电脑时出现“未授予用户在此计算机上的请求登录类型”问题.打开“控制面板”--“管理工具”--“本地安全策略”--“本地策略 ...

  3. windows 7 共享,未授予用户在此计算机上的请求登录类型

    刚刚重装了windows7,新下载的一个ghost版本,结果却不能共享,每次访问这台机器的共享都提示, 未授予用户在此计算机上的请求登录类型 这个情况好像是存在于win7访问win7,我用一台XP系统 ...

  4. php 获取ip地址的5种方法,插入用户登录日志实例

    php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ ...

  5. 使用python装饰器计算函数运行时间的实例

    使用python装饰器计算函数运行时间的实例 装饰器在python里面有很重要的作用, 如果能够熟练使用,将会大大的提高工作效率 今天就来见识一下 python 装饰器,到底是怎么工作的. 本文主要是 ...

  6. 三种动态加载js的jquery实例代码另附去除js方法

    !-- 这里为你提供了三种动态加载js的jquery实例代码哦,由于jquery是为用户提供方便的,所以利用jquery动态加载文件只要一句话$.getscript("test.js&quo ...

  7. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...

  8. 《Kafka Stream》调研:一种轻量级流计算模式

    原文链接:https://yq.aliyun.com/articles/58382 摘要: 流计算,已经有Storm.Spark,Samza,包括最近新起的Flink,Kafka为什么再自己做一套流计 ...

  9. Spark是一种分布式的计算方案

    Spark的安装基于HDFS,所以我们要设置hadoop的配置文件,所以spark的存储不是其主要的功能点,而spark作为分布式生态中的角色是一种计算模式(其他 的计算 模式,比如MR,Storm, ...

随机推荐

  1. preg_replace数组的用法

    $string = 'The quick brown fox jumped over the lazy dog.';$patterns = array();$patterns[2] = '/quick ...

  2. Appium + python - input操作实例

    import osimport time as t adb = 'adb shell input tap 400 500'os.system(adb) t.sleep(5) class keyeven ...

  3. ACM_来自不给标题的菜鸟出题组(巴什博弈+素数判定)

    来自不给标题的菜鸟出题组 Time Limit: 2000/1000ms (Java/Others) Problem Description: 大B和小b合作出一道程序设计月赛的题,他们的想法是给定一 ...

  4. 牛客练习赛19 -E-托米的饮料

    题目描述 好了,现在是小托米的故事啦~~~ 可爱的小托米得到了n瓶饮料. 但他不小心把开盖的工具弄丢了,所以他只能利用饮料瓶来开盖. 已知第i个瓶子的品牌为ai,且其能打开bi品牌的瓶子. 问有几瓶饮 ...

  5. 树莓派-基于raspistill实现定时拍照

    raspistill 经过上一篇<<树莓派-安装摄像头模块>>之后 raspistill 是树莓派基于摄像头拍照命令 比如我要截取一张宽1024px,高768px,旋转180度 ...

  6. 关于MYSQL 存储过程的文章摘录

    1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储 ...

  7. C# Datetime 使用详解

    获得当前系统时间: DateTime dt = DateTime.Now; Environment.TickCount可以得到“系统启动到现在”的毫秒值 DateTime now = DateTime ...

  8. Caffe2:ubuntuKylin17.04使用Caffe2.LSTM

    一早发现caffe2的较成熟的release版发布了(the first production-ready release),那么深度学习平台在之后一段时间也是会出现其与tensorflow相互竞争的 ...

  9. php知识点(基本上文档都有,只为方便记忆)

    类型转换 (unset)转换为NULL (binary) 转换和 b 前缀转换支持为 PHP 5.2.1 新增   转换二进制 隐藏php后缀名 AddType application/x-httpd ...

  10. 05-- C++ 类的静态成员详细讲解

     C++ 类的静态成员详细讲解    在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用.所以在所有对象中都可以共享它.使用静态成员变量实现多个对象之间的数据共享不 ...