GCP, AWS 및 Azure ARM 기반 서버 성능 비교

Shirui Zhao

August 12, 2022

Ecosystem

배경

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 코어를 사용합니다.

2020년에 출시된 AWS Graviton2 프로세서는 첫 세대 AWS Graviton 프로세서에 비해 성능과 기능 면에서 큰 도약을 이루었습니다. 7배 빠른 성능, 4배 많은 코어, 2배의 캐시, 5배 빠른 메모리 등을 제공합니다.

2022년 5월 말에 출시될 최신 AWS Graviton3 프로세서는 더 발전된 Neoverse V1 설계를 기반으로 하며, AWS Graviton2 프로세서에 비해 최대 2배의 부동 소수점 성능, 2배의 암호화 성능, 3배의 ML 성능을 제공하며, bfloat16을 지원합니다. 다음 그림은 AWS Graviton3 프로세서를 탑재한 주요 모델을 보여줍니다:

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 형태로 제공됩니다.

이들은 최대 32Gbps의 네트워크 대역폭과 다양한 네트워크 연결 스토리지 옵션을 제공하여, Tau T2A VM은 웹 서버, 컨테이너화된 마이크로서비스, 데이터 기록 처리, 미디어 트랜스코딩, Java 애플리케이션을 포함한 스케일 아웃 워크로드에 적합합니다. 주요 모델은 다음과 같습니다:

Tau T2A VM

Azure Arm 기반 가상 머신

4월에 Microsoft는 Ampere® Altra® Arm 프로세서를 기반으로 한 Azure 가상 머신 제품군의 미리보기를 발표했습니다. 새로운 VM은 스케일 아웃 워크로드, 웹 서버, 애플리케이션 서버, 오픈 소스 데이터베이스, 클라우드 네이티브 및 풍부한 .NET 애플리케이션, Java 애플리케이션, 게임 서버, 미디어 서버 등을 효율적으로 실행하도록 설계되었습니다. 새로운 VM 시리즈에는 일반적인 Dpsv5와 메모리 최적화 Epsv5 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 관리에 특히 적합합니다.

Apache APISIX

다음으로, APISIX 공식 오픈소스 성능 테스트 스크립트를 사용하여 테스트를 진행할 것입니다.

테스트 케이스

더 현실적이고 풍부한 테스트 데이터를 얻기 위해 Apache APISIX의 성능을 두 가지 전형적인 시나리오에서 테스트할 것입니다:

  • 시나리오 1: 단일 업스트림. 이 시나리오에서는 단일 업스트림(플러그인 없음)을 사용하여 APISIX의 순수 프록시 백투오리진 모드에서의 성능을 테스트합니다.
  • 시나리오 2: 단일 업스트림 + 다중 플러그인. 이 시나리오에서는 단일 업스트림에 두 개의 플러그인을 사용하며, 여기서는 limit-countprometheus 두 가지 핵심 성능 소모 플러그인이 활성화된 상태에서 APISIX의 성능을 테스트합니다.

테스트 결과

아래 그림은 QPS(초당 쿼리 수) 테스트 결과이며, 숫자가 높을수록 성능이 좋습니다.

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(미국 동부 오하이오), GCP T2A(us-central1), Azure Dpsv5(미국 동부)의 서버 시간당 가격을 비교한 것입니다:

VM 시리즈 / vCPU1248163264
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.336.3
GCP t2a-standard-2$674.516.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을 출시했습니다. 이는 ARM 기반 서버 분야의 배포에 있어 GCP보다 약 4년 앞서 있었습니다. 이제 AWS Graviton 프로세서는 세 번째 세대로 발전했습니다.

Apache APISIX의 성능 테스트 결과와 가격 대비 성능 분석을 통해, AWS Graviton3가 GCP T2A와 Azure Dpsv5보다 더 높은 성능과 비용 효율성을 가지고 있음을 알 수 있습니다. 이는 AWS가 ARM 기반 서버 분야에 오랫동안 깊이 관여해 온 것과 밀접한 관련이 있습니다.

또한, 테스트 중에 Apache APISIX를 단일 코어로 바인딩하여 테스트했으며, 여러 코어를 사용할 경우 AWS Graviton 3의 가격 대비 성능이 더욱 향상될 수 있습니다.

참고 자료

Tags: