23가지 AWS EC2 인스턴스 유형별 PostgreSQL 성능 및 비용 분석
PostgreSQL 성능 및 비용 분석: 23가지 AWS EC2 인스턴스 유형별 비교
요약
1 GB 데이터셋에서 초당 33,000건의 요청(RPS)이 필요한 워크로드의 경우, gp3-baseline 스토리지와 m8g.large 인스턴스를 사용하는 것이 약 $82/월의 비용으로 가장 경제적인 구성입니다. c8i.large가 달러당 가장 높은 원시 처리량을 제공하지만, Graviton 기반 인스턴스(arm64)는 일반적으로 PostgreSQL 배포 시 성능과 비용 사이의 우수한 균형을 제공합니다.
33,000 RPS를 위한 비용-성능 프런티어
1 GB 데이터셋으로 33,000 RPS의 처리량을 목표로 할 때, 테스트된 52개 구성 중 30개가 요구 사항을 충족합니다. 최적의 인스턴스 선택은 절대적인 최소 비용을 우선시할지, 아니면 최대 효율성을 우선시할지에 따라 달라집니다.
가장 저렴한 구성
- 인스턴스: m8g.large
- 스토리지: gp3-baseline
- 아키텍처: arm64 (Graviton)
- 비용: ~$82/mo
- 성능: 45,515 RPS (목표의 1.4배)
달러당 최고의 RPS
- 인스턴스: c8i.large
- 스토리지: gp3-baseline
- 아키텍처: x86-64
- 성능: 52,203 RPS
- 효율성: 451,476 RPS/€·hr
인스턴스 제품군별 비교 분석
EC2 제품군에 따라 성능 차이가 크게 나타나며, 최신 세대 및 Graviton 프로세서가 처리량과 지연 시간 측면에서 뚜렷한 이점을 보여줍니다.
Graviton (arm64) vs. x86-64
Graviton 인스턴스(원본 데이터에서 녹색으로 표시됨)는 비용-성능 프런티어에 자주 등장합니다. 예를 들어, gp3-baseline 스토리지 사용 시 m8g.large (arm64)는 m7i.large (x86-64)보다 비용($82/mo vs $90/mo)과 처리량(45,515 RPS vs 41,305 RPS) 모두에서 더 뛰어난 성능을 보여줍니다.
인스턴스 크기에 따른 성능 확장성
인스턴스 크기를 키우면 일반적으로 처리량이 향상되지만, 인스턴스가 커질수록 달러당 RPS는 종종 감소합니다:
- m8g.large: 45,515 RPS (~$82/mo)
- m8g.xlarge: 70,871 RPS (~$147/mo)
- m8g.2xlarge: 81,451 RPS (~$278/mo)
스토리지 구성의 영향: gp3-baseline vs. gp3-max
스토리지 구성은 처리량의 비례적인 증가 없이 월간 비용에 큰 영향을 미칠 수 있습니다.
c8i.large를 예로 들면:
- gp3-baseline: ~$84/mo에서 52,203 RPS
- gp3-max: ~$184/mo에서 53,444 RPS
이 시나리오에서 gp3-max로 업그레이드하면 월간 비용이 100% 이상 증가하지만 초당 요청 수는 미미하게 증가할 뿐입니다. 이는 해당 특정 워크로드의 경우 baseline gp3 스토리지로도 충분하다는 것을 시사합니다.
저사양 성능 (T-Series 인스턴스)
T-시리즈 인스턴스(t3, t4g)는 높은 처리량의 PostgreSQL 워크로드에는 적합하지 않습니다. 이 인스턴스들은 33,000 RPS 목표를 지속적으로 달성하지 못했으며, 대부분 2,800에서 5,300 RPS 사이를 기록했습니다. 예를 들어, gp3-baseline 상의 t4g.small은 2,842 RPS만을 달성하여 m8g.large보다 한 자릿수(order of magnitude) 더 느렸습니다.