背景
ARM 架构属于 RISC 设计家族。RISC 微处理器架构设计应用一组高度优化的指令,使小型处理器可能无效地解决简单的工作。
ARM 已成为寰球最大的计算机生态系统和挪动设施的基石,以其低功耗、灵便的许可和低成本等特点,被许多专家认为是云计算的将来。因而,以 AWS、Google Cloud Platform(GCP)和 Azure 为首的支流云厂商都陆续推出了 ARM 架构的服务器。其中 AWS 更是早在 2018 年就推出了第一款基于 ARM 架构的服务器处理器 AWS Graviton。
AWS Graviton
AWS Graviton 是 AWS 于 2018 年公布的基于 ARM 架构的一系列服务器处理器,第一代 AWS Graviton 处理器采纳定制芯片和 64 位 Neoverse 内核。AWS Graviton2 于 2020 年公布,与第一代 AWS Graviton 处理器相比,AWS Graviton2 处理器在性能和性能方面实现了重大飞跃。性能晋升 7 倍、计算外围数量达到 4 倍、缓存达到 2 倍、内存速度晋升 5 倍等等 。 最新的 AWS Graviton3 处理器在 2022 年 5 月底公布,基于更加先进的 Neoverse V1 设计,与前代处理器相比,更是晋升了高达两倍的浮点性能、两倍的加密性能和三倍的 ML 性能,包含对 bfloat16 的反对。下图展现了搭载 AWS Graviton3 处理器的次要机型:
Google Cloud Platform T2A
Google Cloud Platform(以下简称 GCP)T2A VM 是 Google 在 2022 年 7 月推出的首款 ARM 架构的虚拟机预览版,由基于 Neoverse N1 设计的 Ampere® Altra® Arm 处理器提供反对。Tau T2A VM 有多种预约义的 VM 形态,每个 VM 最多 48 个 vCPU,每个 vCPU 4GB 内存。它们提供高达 32 Gbps 的网络带宽和宽泛的网络附加存储选项,使 Tau T2A VM 实用于横向扩大工作负载,包含 Web 服务器、容器化微服务、数据记录解决、媒体转码和 Java 应用程序。次要机型如下图所示:
Azure ARM-based Virtual Machines
2022 年 4 月,微软发表推出基于 Ampere® Altra® Arm 处理器的 Azure 虚拟机系列预览版。新的 VM 旨在高效运行横向扩大工作负载、Web 服务器、应用程序服务器、开源数据库、云原生以及丰盛的 .NET 应用程序、Java 应用程序、游戏服务器和媒体服务器等。新的 VM 系列包含通用 Dpsv5 和内存优化的 Epsv5 VM,次要机型如下图所示:
三大云厂商 ARM 服务器性能测试
在本文中,咱们将通过测试单核心性能来反映各服务器的整体性能。这里选取网络 IO 密集型的 API 网关 Apache APISIX,别离在 AWS c7g.large、GCP t2a-standard-2 和 Azure D2ps v5(属于 Dpsv5 系列,双核 CPU)三款机型上绑定单个 CPU 外围进行压力测试,并通过 QPS 和响应提早两个指标来剖析服务器的性能。
Apache APISIX 是一个云原生、高性能、可扩大的 API 网关。基于 NGNIX + LuaJIT 和 etcd,APISIX 与传统 API 网关相比,具备动静路由和插件热加载个性,特地适宜云原生架构下的 API 治理。
接下来咱们将应用 APISIX 官网开源的性能测试脚本进行测试。
测试用例
本文咱们将测试 Apache APISIX 在两个典型场景下的体现,以便获取更加实在、丰盛的测试数据。
- 场景一:单个上游。该场景下应用单个上游(不蕴含任何插件),次要测试 APISIX 在纯代理回源模式下的性能体现。
- 场景二:单上游 + 多插件。该场景应用单上游与多插件配合,在这里应用了两个插件。次要测试 APISIX 在开启
limit-count
和prometheus
两个外围耗费性能插件时的性能体现。
测试后果
下图是 QPS(每秒查问数)测试后果,数字越大代表其性能越好。
下图是响应提早测试后果,单位为毫秒。数字越小代表其性能越好。
从 QPS 和响应提早来看,在相似 Apache APISIX 这种网络 IO 密集型的 API 网关下,AWS C7g 相比 GCP T2A 有 100% 的性能晋升,Azure Dpsv5 相比 GCP T2A 则有 15% 左右的性能当先。
机器性价比比拟
因为本文仅专一于测试不同云厂商 ARM 机器的性能,所以在后果出现中咱们将疏忽“CPU 外围数雷同时内存不同”这一变动,只从 CPU 外围数的角度来剖析 AWS Graviton3 和 GCP T2A 的性价比。
在以后的测试场景下,性价比能够了解为:QPS / 老本。
下表是 AWS C7g (US East Ohio)、GCP T2A (us-central1) 和 Azure Dpsv5 (East US) 不同外围的服务器每小时价格比照:
VM series / vCPU | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
---|---|---|---|---|---|---|---|
AWS C7g | $0.0361 | $0.0723 | $0.1445 | $0.289 | $0.5781 | $1.1562 | $1.7342 |
GCP T2A | $0.0385 | $0.077 | $0.154 | $0.308 | $0.616 | $1.232 | $1.848 |
Azure Dpsv5 | * | $0.077 | $0.154 | $0.308 | $0.616 | $1.232 | $1.848 |
参考前文中对 Apache APISIX 性能测试中的单个上游时的 QPS 数据,下表则汇总了 AWS c7g.large、GCP t2a-standard-2 和 Azure Dpsv5 运行一年的老本和性价比。其中只有微软官网颁布了对应虚拟机的折扣。其中数字越大,则表明在单位价格能获取到更高的 QPS。
一年老本 | 性价比(QPS / 老本) | |
---|---|---|
AWS c7g.large | $633.3 | 36.3 |
GCP t2a-standard-2 | $674.5 | 16.8 |
Azure D2ps v5 | $398.0(41% 折扣) | 33.6 |
从测试后果来看,AWS C7g 相比 GCP T2A 和 Azure Dpsv5 领有更高的性价比。尽管 Azure Dpsv5 相比 GCP T2A 只有 15% 的性能晋升,然而性价比却高了靠近一倍。
总结
AWS 在 2018 年就推出了首款 ARM 架构的处理器 AWS Graviton,比 GCP 提前了大概 4 年进行了基于 ARM 架构的服务器畛域的布局,现在 AWS Graviton 处理器曾经倒退到了第三代。
通过 Apache APISIX 的性能测试后果和性价比剖析,咱们能够看出 AWS Graviton3 领有比 GCP T2A 和 Azure Dpsv5 更高的性能和性价比。这于 AWS 在 ARM 服务器畛域深耕多年是分不开的。
此外,咱们在测试过程中仅应用了 Apache APISIX 绑定单核心测试。如果应用多核,AWS Graviton 3 所出现的性价比可能会进一步提高。
参考链接
https://aws.amazon.com/cn/blo…
https://cloud.google.com/comp…
https://azure.microsoft.com/e…