2023年十大云服务提供商对比:虚拟机性能/价格
最新消息:2024 年对比数据已发布,请点击此处查看。
更新:关于Spot VM定价的补充说明在此。
去年,我发布了一篇关于几家云服务提供商计算服务的性能和价格对比报告。最初,我比较的是各种 Google GCP 实例类型,目的是找出最适合在SpareRoom运行我们(主要基于 Perl 的)Web 后端的实例。出于好奇,我又将分析范围扩大到另外六家主流云服务提供商。
时隔一年,我带着一份重大更新回归。我将沿用相同的测试方法,主要使用自定义的便携式 Perl 基准测试(它似乎能很好地反映 CPU 的通用性能,尤其是在类似 Web 服务运行的任务中)以及“经典”的 Geekbench 5——主要是为了提供一个通用的参考标准。除此之外,今年的对比测试还有以下主要变化:
- 更多云服务提供商:我尝试将Oracle Cloud、IBM Cloud和OVHCloud添加到“十大云服务提供商”列表中,因为它们经常出现在此类列表中。
- 新CPU:今年的新品包括亚马逊的Graviton3和英特尔的Sapphire Rapids,这两款CPU首次亮相。
- 仅限 2 倍 vCPU 实例:去年,我发现 GCP 上的 AMD EPYC 实例存在性能问题,导致性能异常,因此需要对 2/4/8 倍 vCPU 实例进行单独评估。现在该问题已解决,我将简化比较。
- 不包含突发类型:为了确保比较的公平性,我已排除突发类型。由于基准测试相同,您仍然可以参考之前的比较来了解突发实例类型的相对性能。
- 仅限北美和英国/欧盟地区:最后,我只会列出北美或欧洲地区有售的类型。这是因为中国地区与外界的联系非常有限,而其他亚洲和南美地区的定价可能有所不同,导致价格比较不公平。
由于文章内容较多,以下是一些快速链接,方便您跳转到所需部分:
单线程性能
多线程性能及可扩展性
按需付费性能/价格
一年预留性能/价格
三年预留性能/价格
结论
如需查看去年的文章,了解有关方法论和突发式虚拟机包含的更多信息,请点击此处。
参赛者(2023 年版)
我将尝试涵盖以下 10 家云服务提供商的所有相关非突发式公共虚拟机实例。我将重点关注2x vCPU实例,因为这是进行有意义比较的最小可扩展单元(通常也是多种虚拟机类型的最小可扩展单元),考虑到大多数AMD和Intel实例都使用超线程技术。因此,对于这些系统,一个 vCPU 相当于一个超线程,或者说半个核心,而 2xvCPU 实例则提供了一个完整的核心,包含两个线程。这一点将在可扩展性部分详细说明。
除此之外,为了便于价格比较,我设定的配置为每虚拟CPU 2GB内存和30GB固态硬盘(非高IOPS)作为启动盘。并非所有实例都能这样配置,例外情况将在下表中注明。
价格按需计算(有时也按次或按小时计费),并提供持续100%的折扣(如有)。优先选择美国地区价格(通常是最便宜的——否则选择加拿大或英国/欧盟地区)。
对于提供一年期和三年期合约/预留折扣价的供应商,零首付价格会与该选项一同列出。这些价格有效期至2023年4月,请在最终决定前查询最新价格。
由于大多数 CPU 来自Intel或AMD,以下概述了各个世代的 CPU,从较旧(上)到较新(下),大致按性能等级分组,基于去年的比较结果(并添加了Sapphire Rapids):
亚马逊弹性计算云(EC2)
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) | 1年期租金/月 | 3年期租金/月 |
|---|---|---|---|---|---|
| c6g.大 | 亚马逊重力2 | 2.5/4/30 | 52.04 | 33.64 | 23.86 |
| c5a.大 | AMD 罗马 | 3.3/4/30 | 58.61 | 38.17 | 26.49 |
| c6i.large | 英特尔 Ice Lake | 2.9/4/30 | 64.45 | 43.45 | 29.72 |
| c6a.large | AMD Milan | 1.95/4/30 | 58.24 | 39.34 | 26.99 |
| c7g.大 | 亚马逊重力3 | 2.6/4/30 | 55.18 | 37.29 | 25.61 |
亚马逊云服务(AWS)无需赘述,它几乎可以说是整个“云服务提供商”行业的开山之作——尽管规模较小的联网虚拟机提供商早在它之前就已出现(例如Linode)——但AWS至今仍占据市场主导地位。AWS平台提供广泛的服务,但当然,为了便于比较,我们只关注其EC2产品。
与去年相比,最大的变化是推出了基于全新Amazon Graviton3 ARM CPU 的实例 ( c7g )。去年, Graviton2实例凭借其卓越的性价比成为最具吸引力的产品,因此,下一代 CPU 的表现值得关注。
使用 EC2 实例,您通常可以清楚地知道自己将获得什么(实例类型对应特定的 CPU),但由于支付/预留/预付等方式众多,定价非常复杂,而且价格还会因地区而异(我使用的是美国成本最低的地区)。列出的 1 年/3 年预留价格不包含预付款——如果您预付,价格可以进一步降低。
谷歌计算引擎(GCE)
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) | 1年期租金/月 | 3年期租金/月 |
|---|---|---|---|---|---|
| n2d-c2-4096 | AMD Milan | 2.45/4/30 | 45.78 | 35.08 | 25.91 |
| t2d-s2 | AMD Milan | 2.45/8/30 | 64.68 | 41.86 | 30.76 |
| c2d-hcpu2 | AMD Milan | 3.05/4/30 | 57.72 | 37.47 | 27.62 |
| t2a-s2 | 安培阿尔特拉 | 3.0/8/30 | 59.21 | ||
| n2-c2-4096 | 英特尔 Cascade L | 2.8/4/30 | 52.15 | 39.87 | 29.34 |
| n2-c2-4096 | 英特尔 Ice Lake | 2.6/4/30 | 52.15 | 39.87 | 29.34 |
| e2-c2-4096 | 英特尔 Broadwell | 2.2/4/30 | 43.38 | 28.44 | 21.17 |
| n1-c2-4096 | 英特尔 Skylake | 2.0/4/30 | 45.99 | 39.87 | 29.34 |
| c2-s4 /2* | 英特尔 Ice Lake | 2.7/8/30 | 63.99 | 51.01 | 33.49 |
| c3-hcpu4 /2* | 英特尔蓝宝石 | 2.7/4/30 | 65.91* | 45.40* | 31.35* |
*推算 2 倍 vCPU 价格 - 类型需要 4 倍 vCPU 最小容量。
谷歌云平台(GCP) 与 AWS 非常接近,提供的服务大体相同,但市场份额略逊一筹(排名第三,位列 Azure 之后)。GCP 的计算云产品颇具特色,提供多种实例类型,但同时也略显复杂,最终让人难以确定该选择哪种类型。正是这种困惑促使我对其所有实例类型进行基准测试,以便做出最佳部署决策。至少在我看来,GCP 的实例配置比亚马逊的略胜一筹(大多数类型配置起来更简单,可定制性也更高)。
去年,他们提供的AMD产品性价比最高,但却让我非常头疼。我的测试发现,这些产品存在明显的性能缺陷,导致核心数较少的实例性能低下。现在这个问题已经修复,而且c2d实例的时钟频率似乎也提高了,使得AMD产品更具吸引力。英特尔方面,基于蓝宝石Rapids的最新c3实例最近也已上市。谷歌甚至还推出了ARM产品(t2a),不过与其他类型的产品相比,它们的价格似乎偏高,而且没有长期合约折扣,因此缺乏价格竞争力。
GCP 的价格因地区而异,变动频繁,并且存在一些奇怪的规律。例如,目前,t2d实例(每个 vCPU 配备一个完整的 AMD EPYC 核心)和n2d实例(每个 vCPU 配备一个超线程,即半个核心)在至少一年的合约期内,vCPU 的价格相同。此外,某些实例类型可能配备多种 CPU,默认情况下会分配到最老一代的 CPU。但是,例如,对于n2d实例,您可以指定以相同的价格获得速度提升 30% 的机器(第三代 EPYC)(GCP 控制台中也有此选项)。这次min_cpu_platform="AMD Milan"我甚至不会对旧版本(第二代 EPYC)进行基准测试——您应该完全避免使用它们。同样, n2实例也会受益于……AMD Romemin_cpu_platform = "Intel Ice Lake"
请注意,c2和c3类型实例的最低 vCPU 配置为 4 倍。这会影响价格比较,因此我假设配置为 2 倍 vCPU 的价格(CPU/内存成本的一半 + 30GB SSD 的全部成本)。GCP 允许您禁用部分核心(选择“可见”核心),因此虽然您需要支付最低 4 倍 vCPU 的费用,但您仍然可以在 2 倍 vCPU 实例上运行基准测试,以便进行公平的比较。
另外,虽然我在图表中列出了 n2d-s2、n2-s2 等,但标准配置实际上配备了 8GB 内存,所以我不得不指定一个 4GB 内存的自定义配置。
Microsoft Azure
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) | 1年期租金/月 | 3年期租金/月 |
|---|---|---|---|---|---|
| D2pls_v5 | 安培阿尔特拉 | 3.0/4/32 | 51.36 | 31.65 | 21.26 |
| F2s_v2 | 英特尔 Cascade L | 2.6/4/32* | 64.16 | 38.90 | 25.04 |
| D2ls_v5 | 英特尔 Ice Lake | 2.8/4/32 | 63.6 | 38.98 | 25.99 |
| D2as_v5 | AMD Milan | 2.45/8/32 | 64.32 | 39.40 | 26.26 |
*附带额外的 8GB/vCPU 温度存储空间
Azure是排名第二的云服务提供商,但不出所料,它是大多数基于 Microsoft/Windows 的解决方案的最佳选择。尽管如此,它也提供多种类型的 Linux 虚拟机,其功能与 AWS/GCP 非常相似。
Azure 的定价至少和 AWS/GCP 一样复杂,而且定价工具似乎更糟糕。今年新增了Ampere Altra ARM 实例。AMD Milan型号是唯一无法配置 2GB/CPU 内存的实例,因此其内存价格是其他型号的两倍。此外,我创建的三台F2s_v2实例都配备了Cascade Lake CPU,但文档中却指出可以提供 Skylake 到 Ice Lake 级别的 CPU。
与去年一切进展顺利(尽管其控制面板相比竞争对手 AWS/GCP 而言略显“笨拙”)的情况不同,今年我在测试的第一天就遇到了连接或保持与所有 Linux 虚拟机 SSH 连接畅通的问题connection to xxx closed。由于我与其他服务提供商的连接非常稳定,Azure 的状态页面也显示正常,因此这种情况着实令人意外和恼火。不过,从第二天开始一切似乎都恢复正常,所以这可能只是一个奇怪的临时故障。
阿里巴巴弹性计算服务(ECS)
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) | 1年期租金/月 |
|---|---|---|---|---|
| ecs.n4.large | 英特尔 Skylake | 2.5/4/30 | 31.25 | 26.56 |
| ecs.c6.large | 英特尔 Cascade L | 2.5/4/30 | 41.81 | 35.54 |
| ecs.hfc6.large | 英特尔 Cascade L | 3.1/4/30 | 47.07 | 40.01 |
| ecs.c7a.large | AMD Milan | 2.55/4/30 | 40.12 | 34.10 |
| ecs.c7.large | 英特尔 Ice Lake | 2.7/4/30 | 47.07 | 40.01 |
阿里云是中国最大的云服务提供商,他们的大部分服务似乎都模仿了AWS的模式。我查看了他们的EC2类似产品,名为ECS。
与去年相比,Milan和Ice Lake实例已在美国/欧盟地区开放,但 ARM 架构的实例目前仍仅限于亚洲。中国地区推出了搭载自主研发的基于 ARM 架构的YiTian 710 CPU 的实例,但需要提交相关文件/身份证明才能试用,而且与世界其他地区的连接也有限,所以我没有尝试。
以上所有价格均为美国(弗吉尼亚州)价格,c7a型号除外,该型号可在法兰克福购买。一年期预留实例需预付。
Oracle 计算虚拟机
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) |
|---|---|---|---|
| 标准A1 | 安培阿尔特拉 | 3.0/4/50 | 21.01 |
| 标准3 | 英特尔 Ice Lake | 2.6/4/50 | 36.35 |
| 标准.E2 | AMD那不勒斯 | 2.0/4/50 | 25.19 |
我之前从未尝试过Oracle云基础设施(OCI),他们的“免费套餐”让我惊喜不已。注册流程略显繁琐(我被拒绝了好几次)——我猜是为了防止滥用,但你可以永久免费获得相当于4倍vCPU和24GB内存的A1型ARM虚拟机额度(外加几个AMD E2微型处理器)。与其他服务相比,这非常慷慨,如果你使用ARM实例,还能降低你的总体成本(只需支付超出免费额度的部分)。即使是付费的ARM实例,他们的定价也相当划算:按需付费的价格不到其他供应商Ampere Altra解决方案的一半!
另一个考虑 Oracle 云的主要原因是其数据库,令人欣喜的是,即使是免费套餐也允许您访问两个自治数据库。
除此之外,我还遇到了一些其他问题。我尝试注册美国地区的免费套餐账户,但两次都被拒绝了(付款验证成功后,最后却没有任何解释就被拒绝了),之后我才被伦敦地区的账户接受。在一个月的时间里,我一直尝试配置显示可用的速度更快的 AMD Rome E3实例。每次配置完成后,都会收到容量不足的错误提示,并建议我尝试其他区域(我每次都试过了,但都无济于事)。速度最快的 AMD Milan E4实例在该地区理论上根本无法使用,所以我只好尝试了Naples E2实例来配置 AMD 设备。
我遇到的第二个问题是网页控制台。在Chrome浏览器上,离开一个标签页会导致浏览器登出,重新登录后要么跳转到主页,要么跳转到一个随机的“应用”页面——如果你打开了一些监控程序准备返回查看,这会非常烦人。Safari浏览器的情况更糟,似乎存在内存泄漏,如果我整夜打开一个标签页,它会占用我所有的RAM。即使标签页过一段时间后会自动登出——我以前从未遇到过这种情况。不过,我现在正在快速测试,同时撰写这份报告,这些困扰了我一个多月的测试问题可能已经修复了。
Oracle Cloud 的价格在所有地区都一样,这很不错。他们不提供任何专属折扣——但考虑到他们低廉的按需付费价格,我们拭目以待,看看是否真的需要折扣。
腾讯云虚拟机(CVM)
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) | 1年期租金/月 |
|---|---|---|---|---|
| S5.MEDIUM4 (C) | 英特尔 Cascade L | 2.5/4/65 | 45.60 | 29.52 |
| C3.MEDIUM4 (S) | 英特尔 Skylake | 3.2/4/65 | 59.70 | 44.64 |
| SA2.MEDIUM4 (R) | AMD 罗马 | 2.6/4/65 | 38.40 |
腾讯云是中国三大云服务提供商之一。和阿里云一样,腾讯云在中国区域提供了更多选择,去年我试用过这些服务。这次,我只测试其美国(弗吉尼亚)区域提供的服务——SA2除外,它位于法兰克福。
除了机器类型不同之外,价格也因地区而异。实例按年付费,可以选择预付或不预付(以上价格为不预付价格),但SA2实例不支持预付。以上价格包含我在其定价计算器中选择的最低带宽(1GB/天)。我本可以自己计算扣除这部分费用,但由于其每GB 0.07美元的价格在所有供应商中属于较高水平,所以我保留了计算器自动添加的2.1美元最低费用。磁盘定价的细粒度相当大,因此65GB和30GB的价格似乎相同。
现在,我发现基于Skylake处理器的C3计算优化实例有一个特殊之处,使其与其他云平台所谓的“计算优化”实例有所不同。首先,虽然它们是该 CPU 系列所有提供商中最快的,但其性能波动很大。此外,仅在弗吉尼亚区域提供C3.MEDIUM4双核版本(其他区域的最低配置为四核),该版本有时似乎会分配两个完整的核心而不是线程——这与其他提供商的共享实例有些类似。这种行为并不稳定,因此我使用了显示通常 2 个核心 = 2 个超线程行为的实例的测试结果。
DigitalOcean Droplets
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) |
|---|---|---|---|
| 基础-2 | 英特尔 | 2.3/4/80 | 24.00 |
| Premium-2 | 英特尔 Cascade L | 2.5/4/80 | 28.00 |
| Premium-2-AMD | AMD 罗马 | 2.0/4/80 | 28.00 |
| CPU-opt-2 (S) | 英特尔 Skylake | 2.7/4/25 | 42.00 |
| CPU-opt-2 (C) | 英特尔 Cascade L | 2.7/4/25 | 42.00 |
| CPU-opt-2 (I) | 英特尔 Ice Lake | 2.6/4/25 | 42.00 |
去年, DigitalOcean在性价比方面名列前茅,其共享 CPU基础版“Droplets”提供了最佳性价比。我目前就使用 DigitalOcean 的 Droplets 来托管一个名为7Timer的免费天气服务,如果您使用我的推广链接注册,即可获得 200 美元的免费额度——如果您在免费期结束后继续使用该服务,您的支持将有助于支付该免费项目的托管费用。除了性价比之外,我选择 DigitalOcean 的另一个原因是它设置、部署、快照和备份都非常简便。
我确实很喜欢他们简单、不受地域限制且稳定的定价结构(尤其是在体验过其他供应商那些极其复杂的计算器之后),尽管他们在多年价格不变的情况下,今年涨价了 20%。与去年相比,另一个不足之处在于,在这一轮测试中,他们性价比最高的共享 CPU 虚拟机平均性能有所下降,这意味着这些虚拟机类型的当前使用率可能更高。我们将观察基准测试的结果,但我担心 DigitalOcean 可能没有根据其业务增长情况及时升级其“基础”实例集群。
Akamai(Linode)
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) |
|---|---|---|---|
| Linode 4GB (N) | AMD那不勒斯 | 2.2/4/80 | 24.00 |
| Linode 4GB (R) | AMD 罗马 | 2.9/4/80 | 24.00 |
| Linode 4GB (M) | AMD Milan | 2.0/4/80 | 24.00 |
| 专用 4GB (N) | AMD那不勒斯 | 2.0/4/80 | 36.00 |
| 专用 4GB (R) | AMD 罗马 | 2.9/4/80 | 36.00 |
| 专用 4GB (M) | AMD Milan | 2.0/4/80 | 36.00 |
Linode是一家拥有 20 年历史的云服务提供商,其(配置起来并不容易的)AMD Rome实例在上一次的比较中位列性价比榜首。该公司已被以 CDN 而闻名的Akamai收购。
Linode 与 Akamai 的整合尚处于早期阶段,但我已经看到了显著的变化:价格上涨了 20%,这在某种程度上效仿了 DigitalOcean 的做法,不过他们终于在其产品组合中引入了 AMD Milan实例。虽然你仍然无法选择 CPU,但去年我配置的虚拟机中,十个中有九个都是速度较慢的Naples实例,而今年在我测试的许多地区,这种情况已经有所改变。尽管亚特兰大地区(或许还有纽瓦克地区)似乎仍然有相当数量的Naples实例,但我创建的大多数虚拟机都配备了 AMD Milan或Rome实例。需要注意的是,他们的 AMD Milan 实例的频率远低于Rome实例(因此 Rome 实例仍然是首选,详见基准测试),但至少你很少会遇到老旧且速度较慢的Naples实例(当然,这取决于你所在的地区)。
除此之外,Akamai/Linode 的设置和维护依然简便,备份选项也很简单——在这方面,我几乎和 DigitalOcean 一样喜欢它。而且和 DigitalOcean 一样,它的定价结构简单明了,不受地域限制。
我以后会尽量用 Akamai 这家公司来指代,而只把Linode用于共享 CPU 虚拟机类型。
IBM云计算
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) | 1年期租金/月 | 3年期租金/月 |
|---|---|---|---|---|---|
| cx2-2x4 | 英特尔 Skylake | 2.6/4/100 | 66.89 | ||
| B1.2x4 | 英特尔 Broadwell | 2.1/4/25 | 58.52 | 38.14 | 23.25 |
| cz2-2x4 | IBM z15 | 4.5/4/100 | 142.26 |
IBM Cloud提供了一些主流云服务提供商可能不提供的计算选项(例如裸机服务器)和其他独特服务(例如托管式 Db2),但我目前只测试了他们的虚拟服务器选项(“VS for VPC”和“VS for Classic”两种版本)。我看到的只有三种主要类型的机器——尽管还有更多选项可以配置为裸机服务器。
我发现他们的控制台和价格估算器过于复杂。令人失望的是,只有他们的“经典”云服务才提供专属折扣。不过,对于那些拥有为System/360大型机编写的软件(甚至可能可以追溯到上世纪60年代)的大型企业来说,他们会很高兴地得知,除了x86架构之外,还有z/Architecture虚拟服务器。虽然像GeekBench这样的编译型基准测试无法在z/Architecture上运行,但我还是尝试运行了Perl基准测试,看看它在4.5GHz的IBM z15核心上的表现如何。
最后,我体验了他们的在线聊天和电子邮件支持服务——他们的回复速度都很快,而且非常有效。
OVHcloud
| 实例类型 | CPU类型 | CPU GHz/内存/固态硬盘 | 价格(美元/月) | 100万美元/月 |
|---|---|---|---|---|
| D2-4 | 英特尔 Haswell | 2.0/4/50 | 17.3 | 13.15 |
| S1-8 | 英特尔 Haswell | 2.1/8/40 | 18.87 | 14.66 |
| B2-7 | 英特尔 Haswell | 2.4/7/50 | 34.96 | 29.04 |
| C2-7 | 英特尔 Haswell | 2.7/7/50 | 50.56 | 42.24 |
法国的OVHcloud似乎拥有不少拥趸,他们的S1 / D2公有云产品价格之低着实让我惊讶。诚然,它们只是基于Haswell架构的共享CPU,但以这样的价格而言,性价比相当不错。如果选择欧元或加元支付,价格似乎还会更低,这让我觉得有点奇怪,但我为了与其他供应商保持一致,还是选择了美元。如果您可以用其他货币支付且手续费不高,不妨了解一下。此外,他们还提供一个月预订的折扣价格。
测试结束后,我竟然忘记取消一个月度预订,于是在下个月第一天收到账单后就删除了它。我提交了支持工单,礼貌地询问他们是否可以退还(全额或部分)当月的预订费用,因为我是在周期开始几个小时后才删除的。根据我的经验,亚马逊和谷歌在这种情况下很可能会退款。OVHcloud 花了14 天才回复我的工单,为延迟道歉并拒绝退款,称这是不可退款的服务(是的,我知道,我只是请求他们提供一些补偿)。这绝对算不上好的客户服务。更可笑的是,我收到了一封邮件,让我评价他们的客户服务,我尝试点击低分评价,结果却跳转到了一个无法打开的页面Ce questionnaire n'est pas accessible actuellement.……
测试设置
由于我沿用了去年的方法,所以我会非常简要地介绍一下,但你仍然可以在这里阅读更多细节。
几乎所有测试实例都运行在 64 位Debian 11系统上(少数实例我不得不使用Ubuntu 20.04 LTS),并安装了以下软件:
- DKBench Perl 基准测试
> wget https://github.com/dkechag/perl_benchmark/archive/refs/heads/master.zip
> unzip master.zip
> cd perl_benchmark-master
> ./setup.pl
> ./dkbench.pl
我自己的基准测试套件——DKBench——在每个实例上运行了十几次,运行时间长达数小时/数天,以获得最快/最慢的运行时间。
该测试套件中最不“贴近实际”的部分,即主基准测试,是 CPU 可扩展性最强的部分,因此通过获取单线程和双线程基准测试时间,来计算 2 个核心的最大可扩展性:
> ./prime_threads.pl
> ./prime_threads.pl -t 1
- Geekbench 5
> wget https://cdn.geekbench.com/Geekbench-5.4.4-Linux.tar.gz
> tar xvfz Geekbench-5.4.4-Linux.tar.gz
> Geekbench-5.4.4-Linux/geekbench5
我只保留了两次运行中最好的结果,你可以在这里浏览结果。还有一个 Arm 版本,网址是https://cdn.geekbench.com/Geekbench-5.4.0-LinuxARMPreview.tar.gz。
- Perl 5.32.1 编译(perlbrew)
> \curl -L https://install.perlbrew.pl | bash
> source ~/perl5/perlbrew/etc/bashrc
> perlbrew download perl-5.32.1
> time perlbrew install perl-5.32.1
从源代码编译 Perl 并运行默认测试(单线程)。
结果
您可以在此电子表格中查看原始结果(或点击此处查看完整的 Geekbench 结果)。
在以下图表中,y 轴列出了实例名称,括号内为 CPU 类型:
(SR) = Intel Sapphire Rapids
(I) = Intel Ice Lake/Cooper Lake
(C) = Intel Cascade Lake
(S) = Intel Skylake
(B) = Intel Broadwell
(H) = Intel Haswell
(M) = AMD Milan
(R) = AMD Rome
(N) = AMD Naples
(G3) = Amazon Graviton3
(G2) = Amazon Graviton2
(A) = Ampere Altra
(Z) = IBM z
= Unspecified Intel (Broadwell/Skylake)
单线程性能
单线程性能对许多工作负载至关重要。如果您的任务高度可并行化,您可以向部署中添加更多虚拟 CPU (vCPU),但对于许多常见类型的任务而言,这并非总是解决方案。例如,我们可以将 Sphinx 搜索数据库扩展到足够的 vCPU,从而确保每个请求都能立即得到处理,无需排队等待,但 vCPU 的速度决定了请求的实际响应时间。许多数据库和 Web 应用程序的工作方式也类似——即使您拥有足够的内核来处理所有并发的 Web 或数据库请求,实际响应时间仍然受限于最大单线程性能。
- Perl性能
我们首先在单线程上进行主要的 Perl 基准测试:
谷歌凭借新款英特尔蓝宝石 Rapids c3实例在性能排行榜上名列榜首,紧随其后的是其“计算优化型” Milan c2d版本(他们似乎已经解决了去年我提到的性能问题)。这让我相信,当谷歌发布下一代 AMD EPYC Genoa实例时,它们在这个基准测试中应该会表现出色。我的估计是基于已发布的Milan与Genoa 的基准测试结果——我们只需等到今年晚些时候才能验证。
性能方面,紧随其后的是一系列其他供应商的英特尔Ice Lake和 AMD Milan实例,最后是亚马逊的Graviton3,它勉强跻身前列,与顶尖水平仅相差 20%。鉴于去年Graviton2 的出色性价比,我原本期待Graviton3能带来顶级的性能,而它也确实没有让我失望。
第二梯队性能(与顶尖水平相差 50%)主要包括 Intel Cascade Lake和 AMD Rome VM,其中还包括腾讯令人印象深刻的Skylake ( C3 ) ,最后是Google和Oracle的 Altair Altra VM。
垫底的是OVH的Haswell架构D2和S1,以及Akamai的AMD Naples系列(好在现在更容易避开它们了)。Oracle的Naples E2和IBM的Broadwell B1也位列200秒以下的基准测试组,也就是说,它们的最佳性能还不到顶级产品的一半。
- Perlbrew 合辑
编译 Perl 并非 100% 的 CPU 任务,它也受到 I/O 性能的影响,因此一些 CPU 差异不太明显,但总体而言,我们并没有得到截然不同的结果:
排名第一的是谷歌的c2d(Milan)和微软的Dls_v5(Ice Lake),紧随其后的是其他搭载这些 CPU 的机器——还有蓝宝石 Rapids,它与前列的差距在 1-2% 以内。哦,对了,腾讯 Skylake架构的计算优化型C3也仍然接近榜首。
唯一一种耗时超过顶级选手两倍的机型是OVH的D2,它速度慢得令人绝望,尽管Akamai和Oracle的Naples机型速度也快不了多少。
- Geekbench 5 单核
尽管 Geekbench 是一款综合基准测试软件,与我感兴趣的工作负载相去甚远,我主要将其用于快速对比,但由于其测试结果可在网上查询到,因此仍然非常实用。令人欣慰的是,它的结果与我的其他性能测试结果基本一致——性能最佳的组别包括来自不同供应商的Milan和Ice Lake虚拟机,其中Google的c2d再次位居榜首,Sapphire Rapids位列第四。亚马逊的Graviton3架构的c7g紧随其后。
再次强调,Haswell和Naples系统排名垫底,OVH的廉价D2得分低于 500,比最快的系统低 3 倍。
多线程性能和可扩展性
- 可扩展性
下图展示了计算得到的两个虚拟CPU的最大可扩展性(以洋红色显示)。图中还绘制了Geekbench的可扩展性,该指标更能反映平均可扩展性,通常较低。
100% 可扩展性意味着,如果您运行两个并行线程,它们的运行速度将与单独运行时的速度一样快。对于每个 vCPU 都是一个核心的系统(例如所有 ARM 系统),或者对于每个 vCPU 都是共享线程池中的一个线程的“共享”CPU 系统,您应该可以预期接近 100% 的可扩展性——在仅使用 CPU 的工作负载中,一个 vCPU 上运行的进程不应影响另一个 vCPU。
不过,大多数 Intel/AMD 系统都采用单核双线程的架构,相当于一个双 vCPU 单元。这样的架构可扩展性远低于 100%。50% 的可扩展性相当于一个 vCPU 单元,因此,可扩展性越高,双 vCPU 单元的性能就越优于单 vCPU 单元。
正如预期,ARM 实例(Graviton和Altra)、谷歌的Milan t2d以及IBM z15 的利用率接近 100%,因为它们每个 vCPU 都分配了一个完整的内核。来自Akamai、DigitalOcean、OVH和阿里云的共享 CPU 实例的利用率也远超 90%——每个线程的性能更多地取决于共享集群中其他用户(即其他客户)当时正在运行的工作负载,而不是您自己的两个线程的性能。
AMD 非共享实例的利用率似乎大多在 65%-70% 左右,这相当于每购买两块显卡就能获得 1.35 个虚拟 CPU。英特尔的表现则逊色不少,利用率徘徊在 60%-65% 左右(即每购买两块显卡只能获得 1.25 个虚拟 CPU)。即使是他们最新的Sapphire Rapids显卡也未能幸免,考虑到英特尔是超线程技术的发明者,这样的表现着实令人失望。值得注意的是,这似乎并非基准测试的偶然结果,因为 Geekbench 的可扩展性测试虽然得分始终较低,但也呈现出相同的趋势。
在上述两类服务器之间,还有一些服务器的可扩展性在 70%-85% 之间,例如Akamai的Dedicated、腾讯的E2 / SA2、Oracle的E2,甚至亚马逊的c6a。说实话,我不太清楚这些服务器的具体情况。理论上,它们不应该是共享 CPU,所以它们的表现应该和第二类服务器类似。与其他类型的服务器相比,它们并不特别有趣,所以我没有花时间去研究它们。
- 多线程性能
将最大可扩展性应用于 DKBench 性能,我们可以(乐观地)推断出实例的多线程性能(按 DKBench 运行速度最快/最慢的平均值排序):
谷歌的t2d显然是赢家,因为它在每个vCPU配置下都配备了一个完整的核心(AMD Milan ),速度几乎是最快的。然而,亚马逊的Graviton3也毫不逊色,表现相当出色。
z15和Altra实例比这两款低了不少,它们勉强超过了Milan中最快的那款和唯一的Sapphire Rapids。
最底层是常见的竞争对手:Akamai Naples、OVH s1 / D2 Haswell以及IBM和Google的Broadwell。
在 Geekbench 5 的测试中,我们也可以看到大致类似的情况:
唯一令人惊讶的是OVH的C2 Haswell处理器在这里的表现如此出色,它的运行功率肯定比其他处理器高得多(毕竟它是一款较老、效率较低的处理器)。但总的来说,上述评论仍然适用。
性能/价格(按需/即用即付)
接下来我们来看一些我认为更重要的图表,它们展示了性能/价格比。如果您追求绝对最快的性能而不计成本,那么您一开始很可能就不会选择公有云服务——因此,成本应该是大多数公有云决策中需要重点考虑的因素。
我将首先介绍所有供应商提供的“按需”价格(包括任何持续使用折扣)。我上面列出了月费,但这些价格是按分钟或小时计费的,所以您无需预订一个月。请注意,一些供应商还提供价格非常优惠的竞价/抢占式实例——我在后续文章中对此进行了介绍。
- Perl 单线程性能/价格
第一张图表展示的是单线程性能/价格。即使你只想运行单个线程,对于大多数实例类型,你仍然需要购买一个双核虚拟CPU单元。
Oracle的Ampere A1 处理器整体表现遥遥领先(而且是少数提供 1x vCPU 配置的处理器之一),而其Ice Lake 处理器则是顶级 CPU 中最具性价比的选择。Akamai的另一大亮点是其共享 CPU 的Linode 4G Rome和Milan服务器。
在性价比最高的云服务商之后,是来自DigitalOcean和OVH的低成本云服务:它们速度较慢,性能也不稳定,但价格低廉。在三大云服务提供商中,谷歌的n2d服务性价比最高。
IBM垫底,他们的 z/arch 架构还可以理解——因为它是为非常特殊的用途而设计的——但他们的 x86 架构就不行了,它们性价比太低了。
- 多线程性能/价格
从多线程性能/价格来看,DKBench 和 Geekbench 5 的结果非常相似:
由于Altra的可扩展性,Oracle A1 的价值进一步飙升,它在按需虚拟机实例中绝对物超所值。
和以前一样,低成本的共享 CPU 类型紧随其后,首先是Akamai,再往前是DigitalOcean和OVH。
在主要供应商中,这次是AWS的Graviton3实例领先,而Google的t2d 则落后一些(尽管它的 RAM 是 Graviton3 的两倍)。
IBM再次垫底,但来自“三大”供应商的英特尔(甚至 AMD,除了Milan 系列之外)的任何产品通常性价比都很低。
性能/价格(一年保留期)
多家服务商提供大幅一年期预留实例折扣:AWS、GCP(ARM t2a除外)、Azure、阿里云、腾讯云( SA2除外)、IBM(仅限B1)。OVH提供一个月预留实例折扣。对于长期实例而言,这些折扣可能会显著改变各种解决方案的价值主张。此外,对于GCP和AWS ,您可以使用DoIT 的 Flexsave等(免费)第三方服务,将一年期价格应用于大多数按需实例,因此,研究包含这些折扣在内的性能/价格比至关重要:
- Perl 单线程性能/价格
Oracle的A1仍然领先,OVH正在迎头赶上Akamai。然而,考虑到一年期合约的折扣,GCP和阿里巴巴的Milan类型的服务器速度足够快,即使价格明显更高,也能提供类似的性价比。
- 多线程性能/价格
OVH最慢的实例再次赶上了Akamai ,但它们与速度更快的Oracle A1所提供的价值仍然相差甚远。
亚马逊Graviton3 c7g虚拟机在这里也表现出色,但对我来说,除了Oracle之外,另一个亮点是GCP的t2d 实例。要知道,这种类型的实例提供最高的多线程性能(每个 vCPU 配备一个完整的Milan核心),而且它的内存配置几乎是其他所有实例的两倍,但它仍然跻身性价比前十!更令人难以置信的是,目前预留实例的价格与n2d(每个 vCPU 配备一个Milan超线程)完全相同——前提是后者也配置了相同的内存。价格相同,却获得了两倍的实际 CPU 硬件。
请记住,如果您像我们在 SpareRoom 一样使用Flexsave ,那么那些优惠的t2d和c7g价格也可能适用于按需实例。
性能/价格(三年保留价)
- Perl 单线程性能/价格
最后,对于非常长期的承诺,AWS、GCP、Azure(以及IBM的B1套餐)提供 3 年预留折扣。我们将这些折扣与竞争对手的最优价格(1 年、1 个月或按需,以最低者为准)进行比较:
Azure的Ice Lake与谷歌的Milan一起位列性价比榜首。三年期折扣后,它们的价格足够低,其顶级的单线程性能甚至超过了价格更低的Oracle A1和Amazon Graviton3。
- 多线程性能/价格
令人印象深刻的是,Oracle A1仍然领先。亚马逊 Graviton3和Azure自家的Altra刚刚开始提供三年合约,而t2d紧随其后。值得一提的是,Oracle会免费提供前 4 个 vCPU 和 24GB 内存,因此还有额外的折扣(如果您只需要最多 4 个 vCPU,折扣甚至可能高达 100%!),而 t2d 的整体速度最快,并且内存是 Oracle A1 的两倍。
结论
所有数据都已提供,您可以自行得出结论,但我也会分享我的看法——有些显而易见,有些则比较主观。首先,我想谈谈最令我印象深刻的两点:
- Oracle的 ARM A1在几乎所有场景下都提供了最佳(通常遥遥领先)的性价比。而且还有额外的优惠,我无法将其纳入比较范围(前 4 个 vCPU 和 24GB 免费内存)。Oracle 拥有最具性价比的解决方案,这本身就令人难以置信,我就不多赘述了。
- A1实例唯一不占优势的情况(除了必须使用 x86 架构之外)是需要极致单线程性能的时候。这正是谷歌t2d实例的强项。从图表上看不太明显,因为它只能配置 4GB/vCPU 的内存(而其他大多数实例类型是 2GB),但对于预留实例来说,它的价格与谷歌自家的“常规” Milan实例相同,却提供了两倍的实际硬件配置(你获得的是核心而不是超线程)。
我将在下文中针对不同的使用场景提出我的选择:
- 性价比最高(性能/价格) :正如上文提到的, Oracle A1就是最佳选择。您甚至无需预订即可获得最佳性价比。
- 性价比最高的 x86 架构:如果你无法使用 ARM 架构,Akamai /Linode 是你的最佳选择。只需确保启动实例时不会遇到“故障”(例如Naples 实例)。
- Best value for top-tier performance: If you can reserve for at least 1 year, that would be Google's t2d. For on-demand pricing, Oracle's Standard3 is probably your best bet, unless the slightly lower performance of Amazon's c7g is enough.
- Budget solution: The OVH D2 and S1 are the cheapest/vCPU solutions and, especially with 1 month reservations, they would seem to provide good value. However, they are so slow that you can actually go cheaper and faster at the same time with another provider: an Oracle A1 with 1xvCPU and 4GB RAM is just $12.72/month, which is less than even the monthly reservations from OVH. Such an instance will provide you about TWICE the single-threaded performance and at least as good multi-threaded performance. Plus you can get 4 of those instances for free, what's more budget friendly than that?
- Maximum performance: Assuming you don't care about price, Google's c2d seems to marginally beat their own c3 in 2 out of my 3 single threaded tests, so it is between those two for the maximum performance (on a free core) crown. However, for multi-threaded workloads to keep this speed, you'd need twice the cores compared to the slightly slower-clocked but not Hyper-Threaded t2d.
Finally, I'll make some comments per provider tested in the order I introduced them:
- Amazon: Love their Graviton3 - it's a faster ARM alternative to the commonly used Altair Altra and it's even cheaper compared to the latter on all other providers apart from Oracle. Otherwise AWS is quite costly, so you'd better reserve if you have long-running instances, or sign up for Flexsave or similar.
- Google: After sorting last year's issues, their Milan instances are either the fastest or best value, depending on the type, among the large cloud providers. The reserved prices for the Tau variants especially make them an amazing value for those who need significant processing power. Reserving is not the only way to get the lower prices, as I mentioned services like Flexsave. Be careful, for certain instance types you have to specifically choose the
min_cpu_platform, otherwise e.g. n2d can give you a slower Rome and n2 can give you a slower Cascade Lake. Also, I'd avoid n1 instances - with sustained use or reservations, other instance types either become cheaper (e2) or reach a similar price with significantly increased speed. - Microsoft: For Linux hosting they don't seem to offer a better value than even the pricey Amazon (who even have a good value proposition with their Graviton3), so price would not be a reason to choose Azure. Most of their solutions are obviously geared towards Windows anyway (with temp storage on the Hypervisor for Windows's pagefile.sys etc.), so it is good that at least you have some decent options to run your Linux instances presumably along some other Windows solutions which were the reason to choose Azure.
- Alibaba: Their main cloud offerings and lowest prices are in China, however their c7a and n4 are a decent value for some scenarios when compared to the above 3 providers. That said, not sure why I would not use better value solutions like Oracle or Akamai.
- Oracle: Hard to believe that Oracle provides the cheapest Altra, but they do and it's an unbeatable value. It is quite annoying that I could not change region or try their modern AMD instances E3 and E4. Especially with E3 it was ridiculous to see it as an option to configure and at the very end when you try to provision one you get denied. Every time. Dozens of attempts over the course of over a month. But they are the ultimate budget provider currently, so feel I'd have to forgive that.
- Tencent: Like Alibaba, their best solutions are in China. They did add 1 year reservations compared to my last tests with them, but those are not enough to compete in the west for value with other providers. Their console seems a bit better than Alibaba's at least.
- DigitalOcean: I still love their easy to use web console and simple pricing, but they dropped in performance compared to last year (with increased prices too), and with Akamai/Linode improving they seem to now lag behind. Not far behind, but their VM fleet needs some upgrades to keep up. Like I noted last year, their CPU-optimized instances are not a good value, if you care about that, stay with their Basic or Premium shared-CPU types.
- Akamai: I am not sure if the Milan upgrades were before or after the purchase by Akamai, but it solved (for most regions) the problem of getting stuck with slow Naples VMs that made me reluctant to propose them as the best solution last year. The interface is changed a bit, but is still as easy to use. I would still so much prefer to be able to choose the CPU though, even if it meant paying something extra, and it's time they got rid of Naples completely. As I noted last year, the Dedicated types are not nearly as good value and their performance is not as stable as you'd expect for "dedicated" CPUs.
- IBM: By far the lowest performance/price, the IBM cloud VMs for me seem like they are for two types of scenarios: old s390x software that can only run on the z15 instances or "nobody ever got fired for buying IBM" company culture. I am only half-joking, as I can see that the IBM cloud does have some other unique offerings, but they sure could offer some competitive pricing for their x86 VMs. It was interesting though to try my own benchmark on the z15 - a 4.5GHz implementation of the old s390x mainframe architecture - it was close in performance to the 3GHz ARM Altair Altra.
- OVH云:我听很多人推荐过OVH,可能正因如此,我对它的期望值才更高。就我目前了解的情况来看,除非我遗漏了什么关键信息,否则他们所有的公有云虚拟机类型都基于已有十年历史的Haswell架构。他们确实有一些价格非常低廉的选择,但速度实在太慢,你完全可以从Oracle之类的公司以更低的价格买到一半的vCPU ,而且性能还能更胜一筹。此外,他们还有高频C2处理器,性能甚至可以与更现代的Cascade Lake处理器相媲美,这看起来确实很厉害。然而,这些处理器的价格并不便宜,可能是因为Haswell处理器与这些新型CPU相比效率太低,所以OVH的运行成本必然要高得多。最后,我遇到的14天客服工单响应时间也足以让我放弃OVH。
希望这份对比能让您清楚地了解在各个云服务提供商的不同选项中,您能以合理的价格获得怎样的处理能力。如果您的工作负载非常特殊,您可能需要自行运行基准测试,而不是依赖我的方法,因为我的方法更适用于通用计算、Web 服务等。此外,请不要忘记,您还需要考虑网络成本、价格波动、对区域、内存、存储等方面的特殊要求,以及不同服务提供商之间可能存在差异或某些服务提供商不提供的服务。
文章来源:https://dev.to/dkechag/cloud-vm-performance-value-comparison-2023-perl-more-1kpp















