理解 Azure 平台中虚拟机的计算能力

虚拟化平台至今已经发展了十多年的时间。其中 Hyper-V 技术现在也已经是第三代版本。用户对于虚拟化计算也越来越接受,这也有了公有云发展的基础。然而在很多时候,用户在使用基于 Hyper-V 的 Azure 平台时,仍然有关于虚拟机计算能力的疑问,例如 :

虚拟化的功能的确很强大,但是会不会有性能问题,运行在 Hyper-V 平台的虚拟机是不是比 Hyper-V 服务器的性能要差?

在 Azure 平台上,由于 Azure 是多租户的系统,为了公平起见,是不是所有同一个大小,或是同一系列的虚拟机都会部署在同一种型号的物理服务器上?

我看到有的虚拟机使用的是 Intel 系列的 CPU,有的服务器使用的是 AMD 的 CPU,它们的主频,性能都不同,为什么收费是相同的,是不是当中存在欺诈和不平等的行为?

今天,我们来详细了解一下 Azure(Hyper-V)平台上的虚拟机计算能力。在具体了解虚拟机的计算能力之前,我们先来设定一个计算能力的衡量标准。目前业界有很多 CPU 的评测工具。为简单起见,我选择的是 wPrime,原因是:

容易使用,测试方法就是计算 10 亿内的所有自然数的平方根。

可以很方便选择多个工作线程,这样在多 CPU 的虚拟机上可以灵活配置。

测试不涉及内存和磁盘系统,结果也相对单纯。运算时间越长,运算能力越差。

需要指出的是 wPrime 只是为了便于本文描述性能而采用的工具,其仅仅测试了虚拟机 CPU 能力的某一个方面,并不代表微软官方对于虚拟机计算能力的测试方法。本文中实测的数据仅仅是来自于一个或几个特定实例,更多是用于表达不同虚拟机大小之间的比例关系,不作为官方衡量的依据。

针对于某些虚拟机计算能力的测试,实际上官方已经公布了一些数据。而这些数据是基于业界公认的测试方案,如 SPECint 2006 等。

Linux VM 的计算基准测试分数

Windows VM 的计算基准测试分数

众所周知, Azure 平台是基于 Hyper-V 架构的。为了理解 Azure 平台的虚拟机计算能力,我们需要初步了解下 Hyper-V 架构。

此处并不需要详细了解图中所有方格代表的组件的工作原理,只需知道 Hyper-V 平台存在两种分区(Partition)。其中最常用的一个分区,Child Partition,也就是我们通常意义上讲的虚拟机。值得注意的是另一个特殊分区,Root Partition,它是一个管理分区,用来管理物理主机的设备驱动、电源管理、设备热插拔等。同时,也是唯一可以直接访问物理主机硬件资源的分区。此时,大家可能已经明白,在一台 Hyper-V 服务器上,当我们连接上电源、键盘、鼠标、显示器,在本地登录时,我们实际上就是登陆了 Root Partition 这样一台虚拟机。而其他的 Child Partition 和 Root Partition 是并行的关系,Child Partition(虚拟机)并不是运行在 Root Partition 内部的。

问题一:通常运行在所谓的控制台(Console)中的应用程序,实际上是运行在 Root Partition 这样一台虚拟机里的。那 Root Partition 和 Child Partition 的运算能力有区别吗?通过 wPrime 进行第一个计算能力测试:在 Hyper-V 主机(Root Partition) 以及与其属于同一物理服务器中的同样核数的虚拟机上计算 10 亿内的所有自然数的平方根。为保证数据准确,每台机器计算两次。结果如下:

分区测试一测试二CPU 性能

Child Partition236 秒236 秒

Root Partition227 秒229 秒

考虑到虚拟机内部在测试时还有一定的 CPU 使用,以及 Root Partition 在 Hyper-V 的框架中的确有一些优势,但是从测试结过上看,差距微乎其微,在 3% 左右。因此,为个人认为从计算能力来看,Child Partition 和 Root Partition 是不存在差异的。

另外,我们注意到,Root Partition 和 Child Partition 显示的 CPU 的型号是一致的,都是 i7-4770 @3.4GHz。其实这在 Hyper-V 的架构上也可以理解。我们可以把物理主机的 CPU 资源看作是一个资源池,这个资源池原则上根据虚拟机的逻辑 CPU 的个数,来平均分配给各个虚拟机。当每个 CPU 使用自己的时间片时,他就可以使用物理 CPU 的主频来完成自己的计算任务。

这时,大家可能有一个疑问,在同一台 Hyper-V 主机上运行的虚拟机的 CPU 是否有同样的计算能力?换句话说,这些逻辑 CPU 是不是能够以同等机会拿到 CPU 的时间片,当它拿到 CPU 时间片后,是不是就能够以物理主机的主频来完成计算任务?我们来看一看 Hyper-V 上的虚拟机的 CPU 配置就清楚了:

在 Hyper-V 控制台程序中,对于虚拟机 CPU 配置有以下几部分:

CPU 配置缺省值说明

Virtual Machine Reserve缺省为 0系统为该虚拟机保留的 CPU 资源

Virtual Machine Limit缺省为 100该虚拟机可以达到的性能比例

Relative Weight缺省为 100该虚拟机在系统分配资源时的比重

第一个选项为虚拟机保留更多的资源,第二个选项限定了虚拟机是否可以完全使用物理资源,第三个选项设定了该虚拟机同其他虚拟机相比取得 CPU 时间片的几率。其中第二第三个选项回答了我们之前的疑问:在同一台物理主机上运行的虚拟机,他们取得时间片的几率是可以调整的,当虚拟机获得时间片之后,我们也可以限定它是否可以完全利用 CPU 的最大性能。简单的进行测试,当我们把 Virtual Machine Limit 的值从 100 改成 50,即表明该虚拟机只可以使用 50 的最大性能,测试结果如下:

Virtual Machine Limit测试一测试二CPU 性能

Limit = 100330 秒332 秒

Limit = 50680 秒679 秒

从测试中可以看出,当虚拟机的上限被设定时,虚拟机的计算能力也相应被限定,尽管 Task Manager 中 CPU 的硬件型号及处理速度还和物理硬件保持一致。

小结

Root Partition 和 Child Partition 在计算能力上没有显著的差异。

虚拟机的 CPU 类型与其物理主机的类型一致。它仅仅是一个硬件信息,而不代表计算能力。

在同一台物理主机上运行的多个虚拟机,Hyper-V 完全有能力控制单个虚拟机的计算能力。

同时,这也回答了我们在文章开头提到的第二个问题,同一大小,同一类型的虚拟机并不是一定部署在同一种硬件设备上。Hyper-V 可以控制虚拟机的计算能力。

在 Azure 平台上,我们定义了很多虚拟机的大小标准,其中只有 Dv2 系列和 F 系列的虚拟机指定了其是基于最新一代 2.4 GHz Intel Xeon E5-2673 v3 (Haswell) 处理器。对于其他系列的虚拟机,Azure 并不保证其 CPU 的架构是 Intel 或是 AMD。另外,对于 A 系列的虚拟机,可以被放置在很多不同 CPU 类型的物理主机上。由于物理机房的服务器是在持续更新的过程中,其物理主机的运算能力存在差异。但是根据我们之前的对于 Hyper-V 主机的分析可以得知,通过限定虚拟机 CPU 资源(可以获得的时间片的几率,可以使用的物理资源的限定)的获取,尽管主机的类型不同,用户得到的是一致的 CPU 处理性能体验。

既然说到是一致的计算能力体验,就存在一个衡量的标准。这也就是在 Azure 中引入 Azure Compute Unit(ACU)的原因。ACU 并不是一个绝对数值,而是我们将 A1 系列的虚拟机的单个 CPU 计算能力定为 100,其他大小的虚拟机的单个 CPU 计算能力为 A1 的倍数。例如,Dv2 系列虚拟机的单个 CPU 的计算能力是 A1 系列的 2.1 到 2.5 倍,其 ACU 值为 210 到 250。我们在 A,Av2 和 D 系列上来重复 wPrime 测试 :

A: Intel Xeon E5-2660 0 @2.20GHz

Av2:Intel Xeon E5-2660 0 @2.20GHz

Dv2:Intel Xeon E5-2673 v3 @2.40GHz

大小CPU 数ACU/CPUACU 总计测试一测试二实测计算能力

A111001003830 秒3822 秒100

A221002001926 秒1896 秒200

A34100400952 秒940 秒404

A48100800476 秒471 秒807

A1_v211001003853 秒3729 秒101

A2_v221002001883 秒1845 秒205

A3_v24100400923 秒967 秒405

A4_v28100800466 秒466 秒821

D1_v21210-250210-2501826 秒1833 秒209

D2_v22210-250420-500902 秒902 秒424

D3_v24210-250840-1000429 秒428 秒894

D4_v28210-2501680-2000221 秒221 秒1731

Note

实测计算能力以两次测试的平均值与 A1 的平均值 3826 相比,得到的计算能力。

在测试过程中,有 A 系列的虚拟机是使用 AMD Opteron Processor 4171 HE 的 CPU。根据 wPrime 的测试结果,A1 到 A4 之间虽然保证相应的比例关系,但不难发现同之前的 Intel 系列 CPU 的结果差距较大。其实这也是一个正常的结果,CPU 计算能力的测定往往同测试程序的编译代码,CPU 架构,服务器设计息息相关。在考虑 CPU 的计算能力时,往往需要综合考虑整型计算,浮点计算等等的测试结果。

大小CPU 数ACU/CPUACU 总计测试一测试二

A111001002867 秒2832 秒

A221002001462 秒1389 秒

A34100400724 秒719 秒

A48100800350 秒345 秒

针对于使用不同 CPU 架构的虚拟机的计算能力,微软内部测试结果(结果暂未公开)表明,针对于 A 系列的虚拟机,AMD Opteron Processor 4171 HE 的单个 vCPU 的计算能力稍稍高于 Intel Xeon E5-2660 0 @2.20GHz,但误差也仅仅在 5% 附近。这个数据可能和大多数用户印象中的结论相反。使用 AMD 处理器的虚拟机在性能上并不弱于 Intel 处理器。

从以上的测试结果以及架构分析中,我们可以确认尽管在 Azure 平台存在不同的物理主机类型,但是这对于 Azure 标注的虚拟机计算能力,用户可以得到一致的计算能力。

不同的主机型号,不同的 CPU 架构, ACU 数值可以得到控制以保证一致的计算体验。

当虚拟机的大小改变时,实际的计算能力根据 ACU 的标称值线性增长。

不同的虚拟机系列,都可以根据以 A1 系列换算的 ACU 数值,达到相应的计算能力。

立即访问http://market.azure.cn

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容