Microsoft Azure News(7) Azure B系列虚拟机
《Windows Azure Platform 系列文章目录》
最近微软Azure新数据中心上线了B系列的虚拟机,我这边研究了一下,给大家分享。
Azure B系列虚拟机,其实是Burstable的简写。
优点是:价格便宜,非常适合开发测试环境。
一般的开发测试环境,在很长一段时间内对于CPU性能的需求很低,但是偶尔需要CPU 100%的需求以满足某些业务场景。
许多应用程序,比如开发测试服务器、小型网站、小型数据库、Build Server和源代码管理器等,都可以考虑采用B系列虚拟机
B系列虚拟机的类型如下:
| Size | vCPU | Memory | Max CPU Performance of VM | Base CPU Performance of VM | Starting Credits | Credit Banked/Hour | Max Banked Credits |
| Standard_B1S | 1 | 1 | 100% | 10% | 30 | 6 | 144 |
| Standard_B1ms | 1 | 2 | 100% | 20% | 30 | 12 | 288 |
| Standard_B2s | 2 | 4 | 200% | 40% | 60 | 24 | 576 |
| Standard_B2ms | 2 | 8 | 200% | 60% | 60 | 36 | 864 |
| Standard_B4ms | 4 | 16 | 400% | 90% | 120 | 54 | 1296 |
| Standard_B8ms | 8 | 32 | 800% | 135% | 240 | 81 | 1944 |
问题一.什么叫做Credit
B系列有个非常重要的概念,叫做Credits,概念上类似于积分。
举个例子,如果我们创建除了B系列以外的VM,比如说A系列,DV2系列等,我们可以100%利用到云上的CPU资源。
但是如果我们创建了B系列的VM,对于B系列CPU的利用率和使用时长,其实是根据我们的积分(Credit)来决定的。
当B系列VM的CPU长期处于空闲状态,用户的积分会增加。
当B系列的需要更高的CPU资源,比如100%的CPU利用率(下面会详细说明),用户的积分会减少
问题二.我们创建完B系列VM之后,初始的Credit积分是多少?
如上面的表格中的列Starting Credits,我们创建完Standard_B1S和Standard_B1ms,初始的积分是30
创建完Standard_B2s和Standard_B2ms,初始的积分是60
创建完Standard_B4ms,初始的积分是120
创建完Standard_B8ms,初始的积分是240
问题三.Credit积分是如何增加或者减少的?
1.当前CPU整体利用率<Base CPU Performance of VM,Credit积分增加
2.当前CPU整体利用率>Base CPU Performance of VM,Credit积分减少
3.当前CPU整体利用率=Base CPU Performance of VM,Credit积分不变
每分钟累计的Credit积分 = (Base CPU Performance of VM - 当前总体CPU利用率) ÷ 100
场景1:
我们创建了1台Standard_B1S的虚拟机,创建完之后,CPU利用率一直是0%,持续1小时。
我们观察最上面的表格,Standard_B1S的Base CPU Performance of VM是10%
每分钟累计的积分= (Base CPU Performance of VM - 当前总体CPU利用率) ÷ 100
= (10-0) ÷ 100 = 0.1
每小时累计的积分 = 0.1 * 60 = 6分
1小时之后,这台Standard_B1S的积分=初始积分+累计积分 = 30 + 6 =
场景2:
我们创建了1台Standard_B1S的虚拟机,创建完之后,CPU利用率一直是10%,持续1小时。
我们观察最上面的表格,Standard_B1S的Base CPU Performance of VM是10%
每分钟累计的积分= (Base CPU Performance of VM - 当前总体CPU利用率) ÷ 100
= (10-10) ÷ 100 = 0
每小时累计的积分 = 0 * 60 = 0分
1小时之后,这台Standard_B1S的积分=初始积分+累计积分 = 30 + 0 =
场景3:
我们创建了1台Standard_B1S的虚拟机,创建完之后,CPU利用率一直是20%,持续1小时。
我们观察最上面的表格,Standard_B1S的Base CPU Performance of VM是10%
每分钟累计的积分= (Base CPU Performance of VM - 当前总体CPU利用率) ÷ 100
= (10-20) ÷ 100 = -0.1 (负0.1)
每小时累计的积分 = -0.1 * 60 = -6分 (负6)
1小时之后,这台Standard_B1S的积分=初始积分+累计积分 = 30 - 6 =
场景4
我们创建了1台Standard_B8ms的虚拟机,请注意这台VM是8Core。
创建完之后,8个Core中,有1个Core利用率100%,其他剩余7个Core的CPU利用率是0%,持续1小时
当前总体CPU利用率=(1 x 100% + 7 x 0%) = 100%
我们观察最上面的表格,Standard_B8ms的Base CPU Performance of VM是135%
每分钟累计的积分= (Base CPU Performance of VM - 当前总体CPU利用率) ÷ 100
= (135-100) ÷ 100 = 0.35
每小时累计的积分 = 0.35 * 60 = 21
1小时之后,这台Standard_B8ms的积分=初始积分+累计积分 = 240 + 21 = 261
场景5
大家在想象一下,如果1台Standard_B8ms的虚拟机,8个Core的CPU利用率都是100%,则一个小时需要消耗的积分是多少?
请注意:8个Core的CPU利用率都是100%,则总体CPU利用率=800%
每分钟累计的积分= (Base CPU Performance of VM - 当前总体CPU利用率) ÷ 100
= (135 - 800) ÷ 100 = - 6.65 (负6.65)
每小时累计的积分= - 6.65 * 60 = - 399
也就是每小时需要花费399的积分
问题四:如何查看B系列虚拟机的积分?
我们可以通过Azure监控,查看两个指数:
(1)CPU Credits Consumed,表示消耗的积分
(2)CPU Credits Remaining,表示剩余的积分
问题五:B系列虚拟机的积分上限是多少?
如最上面的表格中的列Max Banked Credits,是不同类型虚拟机的积分上限。
具体的截图如下图所示:

问题六:在虚拟机创建完毕后,我们利用压力测试软件进行压力测试,当CPU利用率都达到100%,不同类型的B系列虚拟机的积分消耗情况如何?
如下图所示:
(1)下图的横线区域,表示不同类型的B系列虚拟机,初始积分情况
(2)下图的斜线,表示当CPU达到100%的时候,减少的积分情况
(3)Standard_B1S是最快积分减少到0,因为初始积分最少
(4)Standard_B8ms是第二块积分减少到0,因为每小时减少的差异值最大

问题七:当积分减少到0之后,B系列虚拟机会发生什么现象。
当积分减少到0之后,B系列VM会被限制CPU利用率,为最上面表格中的列:Base CPU Performance of VM
在下图中可以查看到,一旦积分减少到0之后,CPU利用率被进行了限制。

注意事项:
1.如果我们点击Re-deploy重新部署B系列虚拟机,即B系列虚拟机移动到另外一个计算节点上,则累计的积分Credit会丢失,且Credit会重新设置为初始值:Starting Credits
2.如果我们点击Stop/Start,但是虚拟机保留在同一个计算节点上,则累计的积分Credit不会丢失
Microsoft Azure News(7) Azure B系列虚拟机的更多相关文章
- Microsoft Azure News(5) Azure新DV2系列虚拟机上线
<Windows Azure Platform 系列文章目录> 在之前的文章中,笔者了Azure VM虚拟机,分为A系列和D系列2种 Microsoft Azure News(4) Azu ...
- Microsoft Azure News(6) Azure新F系列虚拟机
<Windows Azure Platform 系列文章目录> 我们知道Azure虚拟机的CPU和内存是固定搭配的,不可以按照用户的想法随意更改. 在有些时候,我们需要虚拟机CPU核心数量 ...
- Microsoft Azure News(4) Azure新D系列虚拟机上线
<Windows Azure Platform 系列文章目录> Update 2016-05-07 注意事项: Azure的数据中心建设是有先后顺序的,最早是落地了A系列的虚拟机,然后是D ...
- Azure上A/D系列虚拟机到DS系列迁移(2)
11. 该脚本会检测环境,停止虚拟机,拷贝VHD文件,创建磁盘等等,知道出现如下类似画面,他会暂停等待用户操作: 后面这几个步骤非常重要,关系到你后续的创建是否成功: 12. 进入D:\migvm目录 ...
- Azure上A/D系列虚拟机到DS系列迁移(1)
有一些用户在刚开始的时候创建了A7,D14等虚拟机来跑一些IO要求比较高的应用,比如Oracle数据库,MySQL数据库,等到用户量上来之后,性能不够,需要升级数据磁盘到SSD固态硬盘,但是问题是: ...
- Microsoft Azure News(3) Azure新的基本实例上线 (Basic Virtual Machine)
<Windows Azure Platform 系列文章目录> 细心的读者可能会发现,我们在创建Azure Virtual Machine的时候,虚拟机类型分为两种:基本和标准.如下图: ...
- 搭建Windows Azure开发环境-Azure虚拟机
概念 这一节是关于让设置了Azure的虚拟机,它包括的Visual Studio 2013 RC旗舰版和SQL Server 2012 Express的 . 在此动手实验中,您将探索建立使用Windo ...
- 探索Windows Azure 监控和自动伸缩系列3 - 启用Azure监控扩展收集自定义监控数据
上一篇我们介绍了获取Azure的监控指标和监控数据: http://www.cnblogs.com/teld/p/5113376.html 本篇我们继续:监控虚拟机的自定义性能计数器. 随着我们应用规 ...
- Azure Event Hub 技术研究系列2-发送事件到Event Hub
上篇博文中,我们介绍了Azure Event Hub的一些基本概念和架构: Azure Event Hub 技术研究系列1-Event Hub入门篇 本篇文章中,我们继续深入研究,了解Azure Ev ...
随机推荐
- JAVA文件操作类和文件夹的操作代码示例
JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容, 新建目录,多级目录创建,新建文件,有编码方式的文件创建, 删除文件,删除文件夹,删除指定文件夹下所有文件, 复制单个文件,复制整个文件 ...
- 记录一个下最近用tensorflow的几个坑
1, softmax_cross_entropy_with_logits 的中的logits=x*w+b,其中w应该是[nfeats,nclass],b是[nclass]是对输出的每个类上logits ...
- 内存泄漏 tensorflow
http://blog.csdn.net/qq_25737169/article/details/78125550
- Unable to load DLL 'api-ms-win-core-localization-l1-2-0.dll': 找不到指定的模块
asp.net mvc 4.6 发布到WinServer2008R2 SP1 提示 错误 Unable to load DLL 'api-ms-win-core-localization-l1-2-0 ...
- 函数式语言(Functional language)简单介绍
函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型. 函数式语言有:Haskell,Clean,M ...
- C# 引用类型公共变量的影响
public int[] a =new int[2]; private void button1_Click(object sender, EventArgs e) { bing(a); } priv ...
- JS实现数组的相减操作
/** * 数组相减的方法 * @param {Array} a * @param {Array} b */ function arrSubtraction(a, b) { if (!a || !b ...
- 二,编程语言类别,和python变量基础
编程语言类别 机器语言:由二进制组成,直接控制操作硬件,执行效率高,开发效率低. 汇编语言:用英文代替二进制,直接操作控制硬件,执行效率高,开发效率低. 高级语言: 编译型,如C语言,类似谷歌翻译,先 ...
- 3.4 unittest之装饰器(@classmethod)
3.4 unittest之装饰器(@classmethod) 前言前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例 ...
- TX锁处理
实际处理后,在测试环境中模拟还原TX锁,及处理. 本篇博客目录: 1.TX锁模拟实际环境 2.登陆数据库,查询相关信息 3.确认锁源头,kill进程释放资源 一.TX锁模拟 sess_1 SQL> ...