본문

테크
AWS graviton 2, gp3 측정

작성일 2021년 05월 31일

안녕하세요, 와탭랩스 DevOps 팀 임진태 입니다.
AWS EC2 와 EBS 에는 사용자의 목적에 맞게 선택할 수 있도록 여러 플랫폼을 지원하고 있습니다.

와탭랩스는 올해 초 부터 가성비 좋기로 소문난 graviton 기반 인스턴스로 이사중입니다.
그리고 gp2 파일시스템은 gp3로 진작에 이사를 완료했습니다.

두 환경으로 이사하며 테스트 한 결과를 블로그로 남겨 놓습니다.

Graviton 2

2021년 2월 경, AWS Seoul 리전에 정식적으로 AWS Graviton 2 기반의 EC2 유형이 추가되었습니다.
해당 유형들은 기존 Intel CPU 를 기반으로 하는 유형에 비해 "향상된 성능을 가졌으며, 심지어 더 저렴한 가격에 서비스한다"고 안내하고 있습니다. 사실인지 확인해 봅니다.

사실 일까요?
https://aws.amazon.com/ko/ec2/graviton/

가격 비교

세상에 공짜는 없는데, AWS 의 함정이 없을지 기존 인스턴스 유형과 비교를 시작하였습니다.

단일 인스턴스 기준 월 과금 금액의 차이를 확인했습니다.

m5.large vs m6g.large

Type Non-RI Monthly RI Monthly
m5.large 84.06 USD 53.29 USD
m6g.large 67.68 USD 43.73 USD

각 인스턴스의 스펙은 2 vCPU, 8GiB Memory 입니다.
월 발생하는 네트워크 비용은 제외하여 계산되었습니다.

위 테이블을 참조하면, 실제로 AWS 에서 제시한 금액은 기존 인스턴스에 비해 20% 가량 저렴한 것을 확인할 수 있습니다.

성능이 동일하다는 가정이라면, 인스턴스에서 발생하는 금액의 약 20% 를 절감할 수 있는 매력적인 제안입니다.

성능 비교

성능은 어떠할지, 간단한 테스트를 진행해보았습니다.

테스트된 인스턴스 환경은 다음과 같습니다.

  • ubuntu 20.04 LTS
  • t 시리즈의 medium 타입 이용
  • cpu credit 무제한 옵션 적용
  • WhaTap Server Monitoring Agent 로 측정

우선, 애플리케이션 기동 직후 약 1시간의 CPU 사용량입니다.

초단위 CPU 사용량1분 평균 CPU 사용량

붉은색: t3.medium / 청록색: t4g.medium ( AWS Graviton 2 )

제일 앞부분의 CPU 사용률이 100%을 치는 시점은 애플리케이션이 기동되는 시점입니다.

청록색의 지표가 붉은색의 지표보다 더 빠르게 100% 지점을 해소한 것을 보아, 애플리케이션 기동 시간을 더 단축한 것으로 인지할 수 있겠습니다. 위 지표로는 애플리케이션 기동 시점의 차이를 확인하는 것 외에는 비교가 어려울 수 있습니다.

그래서, 1분 단위 평균 지표는 다음과 같습니다.

1분 평균 CPU 사용량초단위 CPU 사용량

붉은색: t3.medium / 청록색: t4g.medium ( AWS Graviton 2 )

전반적으로 청록색의 그래프가 붉은색 그래프보다 밑에 위치하는 것을 볼 수 있습니다.
일부 비슷한 지점이 보이기도 하지만, 다음 그래프를 보면 더 명확하게 확인할 수 있을 것으로 보여집니다.

초단위 CPU 사용량10% 이상 GAP 이 보여요

애플리케이션이 기동된지 약 14시간 정도가 지난 새벽 시간대의 테스트 환경입니다.

테스트 모듈 구조상 새벽 시간대에는 자원 사용량이 떨어지도록 조정되어있기에, 기동 직후 시간보다는 낮은 자원 사용량을 확인할 수 있습니다. 허나, 약 1시간 가량의 데이터임에도 불구하고 평균적으로 1.3% 의 CPU 사용량 차이가 존재합니다.
해당 그래프를 통하여 전체적으로 약 10% 정도의 CPU 효율의 차이가 있음을 확인할 수 있습니다.

결론

가격 20% 싸요
성능 10% 좋아요

AWS Graviton 2 는 30% 이상 뛰어난 가성비를 보여주고 있습니다.

저희 서버 애플리케이션 대부분은 Java 기반입니다. 특히 애초에 태생이 멀티플랫폼인 Java 인 경우 "정말", "아무것도" 고민할 필요 없이 넘어가도 문제 없습니다. 그래서 저희 인프라는 올해 초 부터 기존 RI가 만료되는 족족 넘어가고 있습니다.

단, CPU 아키텍쳐가 X86 에서 ARM으로 변경 됨에 따라 CPU 아키텍처에 의존성이 있는 애플리케이션은 마이그레이션이 번거로울 수 있습니다.

EBS gp3

gp3 는 2020년 12월 경에 전 리전을 대상으로 배포되었습니다.

타입의 장점은 기존 gp2 의 스펙 범위에서, 볼륨의 사이즈와 관계 없이 볼륨의 성능을 조정할 수 있다는 점입니다.심지어 가격은 기존에 비슷한 역할을 하는 io 시리즈에 비교하는 수준이 아닌, gp2 보다도 더 저렴한 금액으로 발표되었습니다.

역시 또 함정은 없을지 기존 gp2 타입과 비교를 진행하였습니다.

가격

이번에도 역시 가장 먼저 가격 정책을 살펴보았습니다.
gp2 와는 다르게 gp3 는 볼륨 크기에 대한 금액과 별도로 iops, MB/s 에 대한 금액도 존재했습니다.

EBS Price

Name gp2 gp3
Size 0.114 0.0912
IOPS x 0.0057
MB/s x 0.067

추가적으로 IOPS 는 기본적으로 3000 IOPS, MB/s 는 기본 125MB/s 가 지원되었습니다.
기본으로 제공되는 성능보다 높게 설정할 경우 추가 금액이 발생하는 개념입니다.

순수하게 시간당 가격표만 보게되면 실제로 가격에 대해서는 이해하기 어렵습니다.
따라서, gp2 와 gp3 가 동일한 성능일 때와 용량은 같지만 gp3 의 성능은 기본적으로 제공되는 성능만 이용할 때의 비교를 진행하였습니다.

EBS Price - 동일 성능 기준

Size gp2 gp3
300 34.20 31.92
334 38.08 36.16
500 57.00 51.30
1000 114.00 96.90
5334 608.08 566.26
16000 1824.00 1539.00

동일 성능 기준 금액을 비교하기 위해 gp2 와 gp3 의 IOPS, MB/s 의 성능은 동일한 기준으로 작성되었습니다.

EBS Price - 동일 용량 기준

Size gp2 gp3
300 34.20 27.36
334 38.08 30.46
500 57.00 45.46
1000 114.00 91.20
5334 608.08 486.46
16000 1824.00 1459.20

gp3 는 기본 제공되는 성능인 3000 IOPS, 125 MB/s 입니다.

동일 성능을 기준으로 비교를 하더라도, 기존의 gp2 보다 gp3 의 금액이 훨씬 저렴합니다. 더 저렴한 금액이기에, 경우에 따라서는 gp2 보다 높은 성능의 볼륨을 만드는 것이 가능합니다.

성능

사용자가 지정 가능한 부분에서는 gp3 가 더 저렴한 금액으로 고성능을 제공할 수 있는 것으로 보여집니다.
하지만, 디스크 장치의 경우 IOPS 와 MB/s 가 전부인 것은 아닙니다.

각종 테스트를 진행하여, 실제로 해당 볼륨을 이용하였을 때 성능 상의 차이가 있는게 아닌지 확인해보았습니다.

FIO 명령문 테스트

gp2

FIO 명령문 테스트/gp2 FIO 명령문 테스트/gp2

gp3

FIO 명령문 테스트/gp3 FIO 명령문 테스트/gp3

테스트를 계속 진행해도, gp2 와 gp3 의 큰 성능 차이를 확인하기가 어려웠습니다.

하지만 분명 예전에 테스트 했을 때는 gp3 의 Disk Latency 이슈로 gp2 보다 성능이 떨어지는 결과가 나왔었는데...

이전 테스트에서 유사한 결과가 나온 글이 존재하여, 해당 글에 참조하겠습니다.

https://silashansen.medium.com/looking-into-the-new-ebs-gp3-volumes-8eaaa8aff33e

혹시나해서 실제 운영 애플리케이션을 두 대 구성하여 테스트도 진행해보았지만, 예전처럼 가격이 저렴한 이유를 찾기 어려웠다.

Disk I/O %
Disk I/O보라색:gp3 / 파란색:gp2
Disk Queue Length
Disk Queue Length보라색:gp3 / 파란색:gp2
AWS Cloudwatch - VolumeQueueLength
AWS Cloudwatch - VolumeQueueLength주황색:gp3 / 파란색:gp2

결론

모든 경우에서 gp2 보다 저렴하다.
성능 차이 없다.

예전에는 Disk Latency 로 인해서 눈에 띌 정도로 큰 성능 차이가 보였었는데.
지금은 비등한 수준으로 성능 차이가 확인되어 gp2 의 존재 가치가 사라질 정도로 gp3 의 성능이 좋아졌습니다.
AWS 측에서 무언가의 조치를 해준 것인지, 원인은 모르겠으나 이번 테스트 결과로는 gp3 가 현재로썬 gp2 보다 저렴하고, 고성능을 뽑아낼 수 있는 EBS 유형으로 판단합니다.

마무리

Graviton2 최고입니다.
gp3 멋집니다.
  • 어서 graviton2 으로 넘어가세요! 특히 Java를 쓴다면 고민할 필요가 없습니다.
  • gp2 쓰고 있다면 gp3 쓰세요! 두번쓰세요!
  • Arm Linux 도 와탭으로 모니터링 하세요!
서비스 성능관리는 와탭 애플리케이션 모니터링으로!
와탭 무료로 시작하기
임진태[email protected]
DevOps TeamDevOps Engineer

지금 바로
와탭을 경험해 보세요.