《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系列虚拟机的更多相关文章

  1. Microsoft Azure News(5) Azure新DV2系列虚拟机上线

    <Windows Azure Platform 系列文章目录> 在之前的文章中,笔者了Azure VM虚拟机,分为A系列和D系列2种 Microsoft Azure News(4) Azu ...

  2. Microsoft Azure News(6) Azure新F系列虚拟机

    <Windows Azure Platform 系列文章目录> 我们知道Azure虚拟机的CPU和内存是固定搭配的,不可以按照用户的想法随意更改. 在有些时候,我们需要虚拟机CPU核心数量 ...

  3. Microsoft Azure News(4) Azure新D系列虚拟机上线

    <Windows Azure Platform 系列文章目录> Update 2016-05-07 注意事项: Azure的数据中心建设是有先后顺序的,最早是落地了A系列的虚拟机,然后是D ...

  4. Azure上A/D系列虚拟机到DS系列迁移(2)

    11. 该脚本会检测环境,停止虚拟机,拷贝VHD文件,创建磁盘等等,知道出现如下类似画面,他会暂停等待用户操作: 后面这几个步骤非常重要,关系到你后续的创建是否成功: 12. 进入D:\migvm目录 ...

  5. Azure上A/D系列虚拟机到DS系列迁移(1)

    有一些用户在刚开始的时候创建了A7,D14等虚拟机来跑一些IO要求比较高的应用,比如Oracle数据库,MySQL数据库,等到用户量上来之后,性能不够,需要升级数据磁盘到SSD固态硬盘,但是问题是: ...

  6. Microsoft Azure News(3) Azure新的基本实例上线 (Basic Virtual Machine)

    <Windows Azure Platform 系列文章目录> 细心的读者可能会发现,我们在创建Azure Virtual Machine的时候,虚拟机类型分为两种:基本和标准.如下图: ...

  7. 搭建Windows Azure开发环境-Azure虚拟机

    概念 这一节是关于让设置了Azure的虚拟机,它包括的Visual Studio 2013 RC旗舰版和SQL Server 2012 Express的 . 在此动手实验中,您将探索建立使用Windo ...

  8. 探索Windows Azure 监控和自动伸缩系列3 - 启用Azure监控扩展收集自定义监控数据

    上一篇我们介绍了获取Azure的监控指标和监控数据: http://www.cnblogs.com/teld/p/5113376.html 本篇我们继续:监控虚拟机的自定义性能计数器. 随着我们应用规 ...

  9. Azure Event Hub 技术研究系列2-发送事件到Event Hub

    上篇博文中,我们介绍了Azure Event Hub的一些基本概念和架构: Azure Event Hub 技术研究系列1-Event Hub入门篇 本篇文章中,我们继续深入研究,了解Azure Ev ...

随机推荐

  1. VSCode+python插件

    1.打开VSCode 点击箭头所指地方 然后输入python 安装截图所示的插件 2.进行python路径设置 点击文件--首选项--设置 点击... 会弹出一个下拉框 选择打开setting.jso ...

  2. Http头:Expires,Cache-Control,Last-Modified,ETag

    Expires:过期时间          el:Expirse:Fri,30 Oct 1998 14:19:41 Cache-Control:缓存控制         el:Cache-Contro ...

  3. 查看值是否传过来php

    <input value='{{mid}}'></input> <input value='{{share}}'></input>

  4. 加密、签名和SSL握手机制细节

    openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 背景知识 对称加密     :加密解密使用同一密钥,加解密速度快.随 ...

  5. ID基本操作(复制页面)(移动页面)(调整跨页页数)(版面调整)5.16

    1.在页面面板中选择要复制的页面.拖动到新建页面图标上就可以新建页面. 2.在页面面板中选择要复制的页面.点击右上角的下箭头选择直接复制跨页. 3.在页面面板中选择要移动的页面.用鼠标拖到要移动的地方 ...

  6. redis主从简单配置

    网上有好多复杂的配置,这里我用的是windows版的redis,简单配置了下,试验了下主从,能正常使用. 1.redis-master文件夹(里面是redis),redis-slave文件夹(里面是r ...

  7. java 线程操作

    停止线程 创建“停止标记”,thread.interrupt() 准确的说interrupt()方法只是“告知线程该停止了”,而线程检查到该“告知”后,再通过其他的办法停止线程. 线程调用了inter ...

  8. CLR via C#--------CLR的执行模式

    CLR:是一个可由多种编程语言使用的“运行时”. CLR的核心功能(比如 内存管理.程序集加载.安全性.异常处理.线程同步)可由面向CLR的所有语言使用. CLR是完全围绕类型展开的. 面向CLR的语 ...

  9. effective java——31用实例域代替序数

    1,永远不要根据枚举的序数导出与它关联的值,而是要将他保存在一个实例域中.(ordinal()) public enum Ensemble { SOLO, DUET, TRIO, QUARTET, Q ...

  10. ui自动化:python+appium----环境搭建

    前言: appium可以说是app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本支持java和python.以下为python+appium的安装教程... 环境准备... ...