GCP, AWS, and Azure ARM-Based Server Performance Comparison
Shirui Zhao
August 12, 2022
Hintergrund
Das RISC-Mikroprozessor-Architekturdesign verwendet einen hochoptimierten Satz von Befehlen, um kleinen Prozessoren die effiziente Bewältigung komplexer Aufgaben zu ermöglichen. ARM ist zum Eckpfeiler des weltweit größten Computing-Ökosystems und mobiler Geräte geworden und wird von vielen Experten aufgrund seines geringen Stromverbrauchs, der flexiblen Lizenzierung und der niedrigen Kosten als die Zukunft des Cloud Computing angesehen.
Daher haben führende Cloud-Anbieter wie AWS, Google Cloud Platform (GCP) und Azure nacheinander Server mit ARM-Architektur eingeführt. Unter ihnen hat AWS im Jahr 2018 den ersten Serverprozessor AWS Graviton auf Basis der ARM-Architektur vorgestellt.
AWS Graviton
AWS Graviton ist eine Reihe von Serverprozessoren, die auf der ARM-Architektur basieren und von AWS im Jahr 2018 veröffentlicht wurden. Die erste Generation der AWS Graviton-Prozessoren verwendet benutzerdefinierte Chips und 64-Bit-Neoverse-Kerne.
Die im Jahr 2020 veröffentlichten AWS Graviton2-Prozessoren stellen einen großen Sprung in Bezug auf Leistung und Funktionalität im Vergleich zur ersten Generation der AWS Graviton-Prozessoren dar. Sie bieten eine 7x schnellere Leistung, 4x mehr Kerne, 2x mehr Cache, 5x schnelleren Speicher und mehr.
Die neuesten AWS Graviton3-Prozessoren, die Ende Mai 2022 veröffentlicht werden sollen, basieren auf dem fortschrittlicheren Neoverse V1-Design. Sie bieten bis zu doppelte Gleitkomma-Leistung, doppelte kryptografische Leistung und dreifache ML-Leistung im Vergleich zu den AWS Graviton2-Prozessoren, einschließlich Unterstützung für bfloat16. Die folgende Abbildung zeigt die Hauptmodelle, die mit AWS Graviton3-Prozessoren ausgestattet sind:
Google Cloud Platform T2A
Die Google Cloud Platform (GCP) Tau T2A VM ist eine Vorschau auf die erste ARM-basierte virtuelle Maschine von Google im Juli 2022, die von Ampere® Altra® Arm-Prozessoren auf Basis des Neoverse N1-Designs angetrieben wird. Tau T2A VMs sind in verschiedenen vordefinierten VM-Formen erhältlich, mit bis zu 48 vCPUs pro VM und 4 GB Speicher pro vCPU.
Sie bieten bis zu 32 Gbps Netzwerkbandbreite und eine Vielzahl von netzwerkgebundenen Speicheroptionen, was die Tau T2A VM für skalierbare Workloads wie Webserver, containerisierte Microservices, Datenaufzeichnungsverarbeitung, Medientranskodierung und Java-Anwendungen geeignet macht. Die Hauptmodelle sind wie folgt:
Azure ARM-basierte virtuelle Maschinen
Im April kündigte Microsoft eine Vorschau auf seine Familie von Azure-VMs an, die auf Ampere® Altra® Arm-Prozessoren basieren. Die neuen VMs sind darauf ausgelegt, skalierbare Workloads, Webserver, Anwendungsserver, Open-Source-Datenbanken, Cloud-native und umfangreiche .NET-Anwendungen, Java-Anwendungen, Spieleserver, Medienserver und mehr effizient auszuführen. Die neue VM-Serie umfasst allgemeine Dpsv5- und speicheroptimierte Epsv5-VMs. Die Hauptmodelle sind wie folgt:
Leistungstest von ARM-Servern dreier Cloud-Anbieter
In diesem Artikel werden wir die Gesamtleistung jedes Servers durch Tests der Einzelkernleistung widerspiegeln. Hier wird das netzwerk-IO-intensive API-Gateway Apache APISIX ausgewählt, um einen einzelnen CPU-Kern für Stresstests auf drei Modellen zu binden: AWS c7g.large, GCP t2a-standard-2 und Azure D2ps v5 (zur Dpsv5-Serie gehörend, Dual-Core-CPU), und die Leistung des Servers anhand der beiden Indikatoren QPS und Antwortverzögerung zu analysieren.
Apache APISIX ist ein Cloud-natives, leistungsstarkes, skalierbares API-Gateway. Basierend auf NGNIX + LuaJIT und etcd bietet APISIX im Vergleich zu traditionellen API-Gateways die Eigenschaften dynamisches Routing und Plugin-Hot-Loading, was es besonders für das API-Management unter Cloud-nativen Architekturen geeignet macht.
Als nächstes werden wir das offizielle Open-Source-Leistungstestskript von APISIX für die Tests verwenden.
Testfall
Wir werden die Leistung von Apache APISIX unter zwei typischen Szenarien testen, um realistischere und umfangreichere Testdaten zu erhalten:
- Szenario 1: Einzelner Upstream. In diesem Szenario wird ein einzelner Upstream (ohne Plugins) verwendet, um die Leistung von APISIX im reinen Proxy-Modus zu testen.
- Szenario 2: Einzelner Upstream + mehrere Plugins. Dieses Szenario verwendet einen einzelnen Upstream mit mehreren Plugins, wobei hier zwei Plugins verwendet werden. Es testet hauptsächlich die Leistung von APISIX, wenn die beiden leistungsintensiven Kern-Plugins
limit-count
undprometheus
aktiviert sind.
Testergebnisse
Die folgende Abbildung zeigt das QPS (Queries per Second)-Testergebnis, wobei eine höhere Zahl eine bessere Leistung bedeutet.
Die folgende Abbildung zeigt die Antwortverzögerungsergebnisse in Millisekunden. Je kleiner die Zahl, desto besser die Leistung.
Aus der Perspektive von QPS und Antwortverzögerung hat AWS C7g unter netzwerk-IO-intensiven API-Gateways wie Apache APISIX eine 100%ige Leistungssteigerung im Vergleich zu GCP T2A, und Azure Dpsv5 hat eine Leistungsführerschaft von etwa 15% im Vergleich zu GCP T2A.
Preis-Leistungs-Vergleich
Da sich dieser Artikel nur auf die Leistungstests von ARM-Maschinen verschiedener Cloud-Anbieter konzentriert, werden wir die Änderung von "derselben Anzahl von CPU-Kernen mit unterschiedlichem Speicher" ignorieren und das Preis-Leistungs-Verhältnis von AWS Graviton3 und GCP T2A nur aus der Perspektive der Anzahl der CPU-Kerne analysieren.
Im aktuellen Testszenario kann das Preis-Leistungs-Verhältnis verstanden werden als: QPS/Kosten.
Die folgende Tabelle vergleicht die stündlichen Serverpreise für verschiedene Kerne für AWS C7g (US East Ohio), GCP T2A (us-central1) und Azure Dpsv5 (East US):
VM-Serie / 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 |
Die folgende Tabelle fasst die Kosten und das Preis-Leistungs-Verhältnis von AWS c7g.large und GCP t2a-standard-2 für ein Jahr zusammen, basierend auf den QPS-Daten für einen einzelnen Upstream im Apache APISIX-Leistungstest. Je größer die Zahl, desto höher ist die QPS, die zum Einheitspreis erzielt werden kann.
Jährliche Kosten | Preis-Leistung (QPS/Kosten) | |
---|---|---|
AWS c7g.large | $633.3 | 36.3 |
GCP t2a-standard-2 | $674.5 | 16.8 |
Azure D2ps v5 | $398.0(41% Rabatt) | 33.6 |
Aus den Testergebnissen geht hervor, dass AWS C7g im Vergleich zu GCP T2A und Azure Dpsv5 preisgünstiger ist. Obwohl Azure Dpsv5 nur eine 15%ige Leistungssteigerung im Vergleich zu GCP T2A aufweist, ist das Preis-Leistungs-Verhältnis fast doppelt so hoch.
Zusammenfassung
AWS hat im Jahr 2018 den ersten ARM-basierten Prozessor, AWS Graviton, eingeführt. Damit war AWS etwa 4 Jahre früher als GCP in der Bereitstellung von ARM-basierten Servern. Mittlerweile hat sich der AWS Graviton-Prozessor zur dritten Generation entwickelt.
Durch die Leistungstestergebnisse und die Preis-Leistungs-Analyse von Apache APISIX können wir sehen, dass AWS Graviton3 eine höhere Leistung und ein besseres Preis-Leistungs-Verhältnis als GCP T2A und Azure Dpsv5 bietet. Dies ist untrennbar mit der langjährigen Erfahrung von AWS im Bereich der ARM-basierten Server verbunden.
Darüber hinaus haben wir während unserer Tests Apache APISIX mit Einzelkern-Tests verwendet, und das Preis-Leistungs-Verhältnis von AWS Graviton 3 könnte bei der Verwendung mehrerer Kerne weiter verbessert werden.