GCP、AWS、AzureのARMベースサーバーパフォーマンス比較
Shirui Zhao
August 12, 2022
背景
RISCマイクロプロセッサアーキテクチャ設計は、高度に最適化された命令セットを使用して、小さなプロセッサが複雑なタスクを効率的に処理できるようにします。ARMは、低消費電力、柔軟なライセンス、低コストにより、世界最大のコンピューティングエコシステムとモバイルデバイスの基盤となっており、多くの専門家からクラウドコンピューティングの未来と見なされています。
そのため、AWS、Google Cloud Platform(GCP)、Azureを中心とした主要なクラウドベンダーが、ARMアーキテクチャを搭載したサーバーを相次いでリリースしています。その中でも、AWSは2018年にARMアーキテクチャに基づく初のサーバープロセッサであるAWS Gravitonをリリースしました。
AWS Graviton
AWS Gravitonは、2018年にAWSがリリースしたARMアーキテクチャに基づくサーバープロセッサシリーズです。初代AWS Gravitonプロセッサは、カスタムチップと64ビットNeoverseコアを使用しています。
2020年にリリースされたAWS Graviton2プロセッサは、初代AWS Gravitonプロセッサと比較して性能と機能面で大きな進化を遂げました。7倍の性能向上、4倍のコア数、2倍のキャッシュ、5倍のメモリ速度などが特徴です。
2022年5月末にリリース予定の最新のAWS Graviton3プロセッサは、より先進的なNeoverse V1設計に基づいており、AWS Graviton2プロセッサと比較して浮動小数点演算性能が2倍、暗号化性能が2倍、ML性能が3倍向上し、bfloat16のサポートも含まれています。以下は、AWS Graviton3プロセッサを搭載した主要モデルです:
Google Cloud Platform T2A
Google Cloud Platform(GCP)のTau T2A VMは、2022年7月にGoogleが初めてリリースしたARMベースの仮想マシンのプレビュー版で、Neoverse N1設計に基づくAmpere® Altra® Armプロセッサを搭載しています。Tau T2A VMは、VMあたり最大48 vCPUとvCPUあたり4GBのメモリを備えたさまざまな事前定義されたVM形状を提供します。
最大32 Gbpsのネットワーク帯域幅と多様なネットワーク接続ストレージオプションを提供し、Tau T2A VMはWebサーバー、コンテナ化されたマイクロサービス、データ記録処理、メディアトランスコーディング、Javaアプリケーションなどのスケールアウトワークロードに適しています。主要モデルは以下の通りです:
Azure Armベース仮想マシン
4月、MicrosoftはAmpere® Altra® Armプロセッサに基づくAzure仮想マシンファミリーのプレビューを発表しました。新しいVMは、スケールアウトワークロード、Webサーバー、アプリケーションサーバー、オープンソースデータベース、クラウドネイティブおよびリッチな.NETアプリケーション、Javaアプリケーション、ゲームサーバー、メディアサーバーなどを効率的に実行するように設計されています。新しいVMシリーズには、汎用Dpsv5とメモリ最適化Epsv5 VMが含まれます。主要モデルは以下の通りです:
3つのクラウドベンダーのARMサーバーパフォーマンステスト
この記事では、シングルコア性能をテストすることで各サーバーの総合的な性能を反映します。ここでは、ネットワークIO集約型のAPIゲートウェイであるApache APISIXを選択し、AWS c7g.large、GCP t2a-standard-2、Azure D2ps v5(Dpsv5シリーズ、デュアルコアCPU)の3モデルで単一のCPUコアにバインドしてストレステストを行い、QPSと応答遅延の2つの指標を通じてサーバーの性能を分析します。
Apache APISIXは、クラウドネイティブで高性能かつスケーラブルなAPIゲートウェイです。NGINX + LuaJITおよびetcdを基盤としており、従来のAPIゲートウェイと比較して動的ルーティングとプラグインのホットローディングの特徴を持ち、クラウドネイティブアーキテクチャ下でのAPI管理に特に適しています。
次に、APISIX公式のオープンソース性能テストスクリプトを使用してテストを行います。
テストケース
より現実的で豊富なテストデータを得るために、Apache APISIXの性能を2つの典型的なシナリオでテストします:
- シナリオ1: 単一アップストリーム。 このシナリオでは、単一のアップストリーム(プラグインなし)を使用して、APISIXの純粋なプロキシバックエンドモードでの性能をテストします。
- シナリオ2: 単一アップストリーム + 複数プラグイン。 このシナリオでは、単一のアップストリームに複数のプラグインを使用し、ここでは2つのプラグインを使用します。主に、
limit-count
とprometheus
という2つのコア消費性能プラグインが有効な場合のAPISIXの性能をテストします。
テスト結果
以下の図は、QPS(1秒あたりのクエリ数)のテスト結果で、数値が高いほど性能が優れています。
以下の図は、ミリ秒単位の応答遅延テスト結果です。数値が小さいほど性能が優れています。
QPSと応答遅延の観点から、Apache APISIXのようなネットワークIO集約型APIゲートウェイでは、AWS C7gはGCP T2Aと比較して100%の性能向上を示し、Azure Dpsv5はGCP T2Aと比較して約15%の性能リードを持っています。
コストパフォーマンス比較
この記事では、異なるクラウドベンダーのARMマシンの性能テストに焦点を当てているため、「同じCPUコア数で異なるメモリ」の変化は無視し、AWS Graviton3とGCP T2Aのコストパフォーマンス比をCPUコア数の観点からのみ分析します。
現在のテストシナリオでは、コストパフォーマンス比は「QPS/コスト」と理解できます。
以下の表は、AWS C7g(米国東部オハイオ)、GCP T2A(us-central1)、Azure Dpsv5(米国東部)の異なるコア数に対するサーバーの時間あたりの価格を比較しています:
VMシリーズ / 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 |
以下の表は、AWS c7g.largeとGCP t2a-standard-2の1年間のコストとコストパフォーマンス比をまとめたもので、Apache APISIX性能テストの単一アップストリームのQPSデータを参照しています。数値が大きいほど、単位価格でより高いQPSを得ることができます。
年間コスト | コストパフォーマンス(QPS/コスト) | |
---|---|---|
AWS c7g.large | $633.3 | 36.3 |
GCP t2a-standard-2 | $674.5 | 16.8 |
Azure D2ps v5 | $398.0(41% off) | 33.6 |
テスト結果から、AWS C7gはGCP T2AおよびAzure Dpsv5よりもコストパフォーマンスが優れています。Azure Dpsv5はGCP T2Aと比較して15%の性能向上しかありませんが、コストパフォーマンスはほぼ2倍です。
まとめ
AWSは2018年に初のARMベースプロセッサであるAWS Gravitonをリリースしました。ARMベースサーバーフィールドの展開において、GCPよりも約4年先行していました。現在、AWS Gravitonプロセッサは第3世代まで進化しています。
Apache APISIXの性能テスト結果とコストパフォーマンス分析を通じて、AWS Graviton3はGCP T2AおよびAzure Dpsv5よりも高い性能とコストパフォーマンスを持っていることがわかります。これは、AWSが長年にわたりARMベースサーバーフィールドに深く関わってきたことと無関係ではありません。
また、テスト中にApache APISIXを単一コアにバインドしてテストを行いましたが、複数コアを使用するとAWS Graviton 3のコストパフォーマンス比がさらに向上する可能性があります。