假设您打算在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. Anagram Groups(字符串)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2316 理解错一点题意就能WA到死...题中对于 ...

  2. php循环跳出

    PHP中的循环结构大致有for循环,while循环,do{} while 循环以及foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式: 代码: <?php $i = 1 ...

  3. go之数据类型转换和类型断言

    一.类型转换 1.1 简单类型转换 格式 valueOfTypeB = typeB(valueOfTypeA) int 转 float64 package main import "fmt& ...

  4. Spark Streaming概述

    Spark Streaming是一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力. 其中包括:资源管理框架,Apache YARN.Apache Mesos:基于内存的 ...

  5. Laravel5.1学习笔记7 视图

    视图 (View) 基本用法 传递数据到视图 在多个视图中分享数据 视图组件   #基本用法 视图里面包含了你应用程序所提供的 HTML 代码,并且提供一个简单的方式来分离控制器和网页呈现上的逻辑.视 ...

  6. 搭建Hadoop所遇过的坑

    问题1: 报错信息如下: Container exited with a non-zero exit code 143 Killed by external signal 解决方案: 分配的资源不够, ...

  7. 【Linux】七种运行级别

    运行级别:即系统的运行模式. 级别类型: 0:关机状态. 1:单用户模式. 2:字符界面的多用户模式(不支持网络). 3:字符界面的多用户模式(运行最完整的模式). 4:未分配使用,系统保留. 5:图 ...

  8. Java_Web之状态管理

    回顾及作业点评: (1)JSP如何处理客户端的请求? 使用response对象处理响应 (2)请描述转发与重定向有何区别? 转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面间进行传 ...

  9. Caffe: Vs13添加CUDA支持

    1.  右键工程 点击:Building Dependency 右击:Build Customizations 点击选项:CUDA 7.5 2.添加C++依赖: cudart.lib kernel32 ...

  10. Combobox 下拉框赋值

    string sql = "select distinct RoleName from tb_Role"; DataTable dt = SqlHelper.DataTable(s ...