정의부터 살펴보자
IOPS는 Input/Output Operations Per Second를 의미한다.
초당 수행할 수 있는 입출력 작업 횟수를 나타낸 것이다.
반면에 Throughput은 한국말로 처리량이다.
초당 전송할 수 있는 데이터의 양을 나타낸다.
IOPS는 빈도를 나타내고 Througpht은 양을 나타낸다.
비유로 이해해보자.
만약 고속도로에 작은 차가 많이 있다면 높은 IOPS에 낮은 Throughtput를 의미하고
큰 트럭들이 적게 있다면 낮은 IOPS에 높은 Throughtput를 의미한다.
현실에서는 어떤 상황에서 각각이 중요할까?
만약 큰 파일을 읽어야 한다면 당연히 Throughput이 중요할 것이다.
반면에 데이터베이스 쿼리를 많이 해야한다면 IOPS가 중요하다.
수학적으로 본다면
Throughput = IOPS x Block Size로 표현할 수 있다.
클로드에게 실제 사례를 알려달라고 했다.
IOPS 중심 워크로드:
1. 데이터베이스 (OLTP)
특징:
- 많은 작은 쿼리
- 랜덤 읽기/쓰기
- 4KB ~ 16KB 블록
예: MySQL, PostgreSQL
필요: 높은 IOPS ★★★★★
2. 이메일 서버
특징:
- 많은 작은 메시지
- 랜덤 접근
필요: 높은 IOPS ★★★★★
3. 가상 머신 부팅 볼륨
특징:
- 많은 작은 파일 읽기
- 랜덤 패턴
필요: 높은 IOPS ★★★★☆
Throughput 중심 워크로드:
1. 비디오 스트리밍
특징:
- 큰 파일 순차 읽기
- 연속된 데이터 전송
필요: 높은 Throughput ★★★★★
2. 빅데이터 분석 (Hadoop, Spark)
특징:
- 대용량 파일 스캔
- 순차 읽기/쓰기
필요: 높은 Throughput ★★★★★
3. 로그 수집 - (의외로 대용량이구만)
특징:
- 연속 쓰기
- 큰 데이터 블록
필요: 높은 Throughput ★★★★☆
4. 백업/복원
특징:
- 대용량 전송
- 순차 접근
필요: 높은 Throughput ★★★★★
'클라우드' 카테고리의 다른 글
| Sticky Session vs Stateless 아키텍처(Redis, JWT) (0) | 2025.11.11 |
|---|---|
| TLS, Let's encrypt 와 cert-manager (0) | 2025.11.10 |