Elasticsearch Cold Start 벤치마크

AWS EC2 인스턴스 51종 성능 비교 분석 (5세대 ~ 8세대)

2026년 1월 | 서울 리전 (ap-northeast-2) | 테스트 환경: EKS + Karpenter

최고 성능

m8g.xlarge
8.9초 Cold Start

최고 가성비

c8g.xlarge
$0.18/hr, 9.1초

Search 최강

c8i.xlarge
7.2ms (Intel 승)

8세대 승자

Graviton4
Intel 대비 7% 빠름

세대별 개선

40-47%
5세대 → 8세대

목차

1. 테스트 방법론 2. 테스트 환경 3. 성능 분석 결과 4. 전체 결과 (51개) 5. 결론 및 추천

1. 테스트 방법론

왜 이 벤치마크가 중요한지, 어떻게 테스트했는지

왜 Cold Start가 중요한가?

  • Kubernetes Pod 스케줄링 - 서비스 복구 속도 결정
  • 오토스케일링 응답성 - 트래픽 급증 대응 능력
  • 비용 최적화 - Spot 인스턴스 중단 시 복구 시간
  • 재해 복구 - RTO(복구 목표 시간) 계획

수집 메트릭

메트릭설명방향
Cold StartES 프로세스 시작 → HTTP 준비⬇️ 낮을수록 좋음
Bulk Index1000개 문서 일괄 인덱싱⬇️ 낮을수록 좋음
SearchTerm 쿼리 평균 응답 (10회)⬇️ 낮을수록 좋음

테스트 워크플로우

1. 노드 프로비저닝 2. Pod 스케줄링 (격리) 3. ES Cold Start 4. 인덱싱/검색 테스트 5. 5회 반복

통계적 접근

  • 인스턴스당 5회 독립 실행
  • 이상치 처리: 평균에서 2σ 이상 벗어난 값 플래그
  • 보고 값: 평균 ± 표준편차
  • 신뢰도: 표준편차가 평균의 25% 초과 시 주의 표시

2. 테스트 환경

인프라 구성 및 Elasticsearch 설정

인프라 구성

플랫폼Amazon EKS 1.31
리전ap-northeast-2 (서울)
노드 프로비저너Karpenter 1.3.x
컨테이너 런타임containerd

인스턴스 구성

vCPU4 (xlarge)
테스트 인스턴스51종
아키텍처x86_64, arm64
세대5th ~ 8th

Elasticsearch 설정

버전8.11.0
JVM 힙2GB~4GB
디스커버리single-node
플러그인기본 번들

테스트 격리 보장

  • Pod Anti-affinity: 각 벤치마크가 전용 노드에서 단독 실행
  • Karpenter: 인스턴스 타입별 새 노드 동적 프로비저닝
  • 노이즈 제거: 다른 워크로드 없이 격리된 환경에서 측정

참고: 본 벤치마크는 Kubernetes 환경에서 실행되었으나, 결과는 범용 EC2 인스턴스 성능 비교에 적용 가능합니다.

3. Top 20 Cold Start 성능

낮을수록 좋음 | 초록: Graviton, 파랑: Intel, 빨강: AMD

Graviton (arm64)
Intel (x86_64)
AMD (x86_64)

Top 20 Bulk Index 성능

1000개 문서 일괄 인덱싱 (ms)

Top 15 Search 성능

Term 쿼리 응답 시간 (ms)

세대별 Cold Start 비교 (x86 vs Graviton)

각 세대 내 아키텍처별 평균 Cold Start 시간

핵심 인사이트

  • 6-7세대: Intel이 Graviton보다 빠름 (JVM 최적화 차이)
  • 8세대: Graviton4가 Intel 추월 - 7.3% 더 빠름
  • Graviton은 세대별 개선폭이 더 큼 (24-25% vs 14-19%)

인스턴스 패밀리별 비교 (C/M/R × 아키텍처)

C(컴퓨팅), M(범용), R(메모리) 패밀리의 아키텍처별 평균 성능

패밀리 선택 가이드

패밀리Intel/AMDGraviton승자추천 용도
C (컴퓨팅)13,411ms13,548msIntel검색 집약
M (범용)15,028ms13,616msGraviton균형 워크로드
R (메모리)15,182ms13,331msGraviton대용량 힙

세대별 Search 성능 (x86 vs Graviton)

Term 쿼리 평균 응답 시간 (ms)

세대별 Bulk Index 성능 (x86 vs Graviton)

1000개 문서 인덱싱 평균 시간 (ms)

왜 r8g가 m8g보다 느릴까?

같은 Graviton4인데 r 패밀리가 m 패밀리보다 느린 이유 분석

원인 분석

항목m8g.xlarger8g.xlarge차이
Cold Start8,908ms9,646ms+8.3%
Bulk Index224ms275ms+22.8%
Search8.2ms8.2ms동일
RAM16GB32GB+100%
vCPU44동일
메모리:CPU4:18:1-

결론

  • Cold Start/인덱싱은 CPU 바운드 작업
  • r 패밀리의 추가 메모리는 활용되지 않음
  • 대용량 힙(10GB+)이 필요한 경우에만 r 선택

가격 대비 성능 분석

X축: 시간당 비용($), Y축: Cold Start(초) | 좌측 하단이 최적

Graviton
Intel
AMD

가성비 Top 15 (효율성 점수)

효율성 = 1,000,000 / (Cold Start ms × $/hr) | 높을수록 좋음

세대별 성능 개선율

이전 세대 대비 Cold Start 개선 비율 (%)

세대별 Cold Start (아키텍처별)

각 세대별 아키텍처 평균 Cold Start

세대별 Bulk Index (아키텍처별)

각 세대별 아키텍처 평균 Bulk Index 시간 (ms)

아키텍처별 세대 진화

  • Intel: 5세대 → 8세대 약 41% 성능 향상 (Cold Start 기준)
  • Graviton: 6세대 → 8세대 약 43% 성능 향상
  • AMD: 5세대만 존재, 최하위 성능으로 권장하지 않음

피해야 할 인스턴스

최하위 성능 인스턴스와 대안

인스턴스Cold Start문제점대안개선 효과
m5a.xlarge22.3초AMD EPYC 구형m8g.xlarge60% 빠름
r5ad.xlarge22.3초최하위 성능r8g.xlarge57% 빠름
m5zn.xlarge13.0초고비용 $0.41/hrm8i.xlarge36% 저렴
r5dn.xlarge17.1초프리미엄 가격r8i-flex.xlarge41% 빠름

용도별 추천 인스턴스

용도추천 인스턴스Cold StartBulk IndexSearch$/hr선택 이유
최고 성능 m8g.xlarge 8.9초224ms8.2ms$0.221 모든 메트릭 최상위
최고 가성비 c8g.xlarge ★추천 9.1초230ms9.0ms$0.180 효율성 점수 1위
x86 필수 c8i.xlarge 9.2초268ms7.2ms$0.212 Intel 최고 성능
검색 집약 c8i.xlarge 9.2초268ms7.2ms$0.212 Search 최저 지연
예산 절감 c6g.xlarge 15.9초453ms13.6ms$0.154 가장 저렴
대용량 힙 r8g.xlarge 9.6초275ms8.2ms$0.284 32GB RAM

4. 전체 결과 (51개 인스턴스)

모든 테스트 인스턴스의 상세 결과 | 열 헤더 클릭으로 정렬

순위 ↕ 인스턴스 ↕ 아키텍처 ↕ 세대 ↕ Cold Start (ms) ↕ Bulk Index (ms) ↕ Search (ms) ↕ $/hr ↕ 효율성 ↕

5. 결론

핵심 시사점 및 최종 추천

핵심 시사점

1 8세대 Graviton4가 최강 - Cold Start, Bulk Index 모두 1위
2 Search는 Intel이 우세 - 검색 집약 워크로드에서 Intel 8세대 고려
3 r 패밀리 < m 패밀리 - Cold Start/인덱싱은 CPU 바운드, 추가 메모리 불필요
4 flex 인스턴스의 반전 - 표준 버전만큼 빠르면서 저렴
5 AMD EPYC 5세대 피하기 - m5a/r5a 시리즈는 2배 이상 느림

최종 추천

범용 Elasticsearch 워크로드
c8g.xlarge
⚡ 9.1초 💰 $0.18/hr 📊 효율성 1위
Intel 대비 15% 비용 절감 | Top 3 성능 | 가성비 최고
x86 필수시
c8i.xlarge
검색 집약시
c8i.xlarge
최고 성능
m8g.xlarge
예산 절감
c6g.xlarge