IOPS·처리량 계산기
IOPS와 처리량(MB/s)을 블록 크기로 서로 변환하고, RAID 쓰기 페널티를 반영해 필요한 디스크 수를 구합니다. 읽기·쓰기 비율에 따라 디스크가 실제로 몇 배 일하는지 함께 봅니다.
애플리케이션이 요구하는 초당 입출력 횟수입니다.
나머지는 쓰기로 봅니다. 쓰기 비율이 RAID 페널티를 통해 디스크 수를 좌우합니다.
옛 데이터·옛 패리티를 읽고 새 데이터·새 패리티를 씁니다.
탐색 3.5ms + 회전지연 2.0ms.
0이면 위에서 고른 값을 씁니다.
데이터베이스는 4~16KB, 백업·영상은 128KB 이상이 흔합니다.
필요한 디스크 수
105 장
디스크가 실제로 하는 일 19,000 IOPS · 증폭 1.9배 · 처리량 78.1MB/s
읽기 70% · 쓰기 30%인 부하를 RAID 5로 받으면, 앞단에서 보는 IOPS 하나마다 디스크는 0.7 + 0.3 × 4 = 1.9번 일합니다. 패리티를 쓰는 RAID는 쓰기 한 번에 옛 데이터와 옛 패리티를 읽고 새 데이터와 새 패리티를 쓰기 때문입니다.
RAID 레벨을 바꾸면
| 레벨 | 페널티 | 디스크가 하는 일 | 필요한 디스크 |
|---|---|---|---|
| RAID 0 | ×1 | 10,000 | 55장 |
| RAID 1 · 10 | ×2 | 13,000 | 72장 |
| RAID 5 | ×4 | 19,000 | 105장 |
| RAID 6 | ×6 | 25,000 | 138장 |
용량 효율은 반대 순서입니다. RAID 6은 디스크를 가장 많이 쓰지만 두 장이 동시에 죽어도 버팁니다. 성능과 안전과 용량 중 무엇을 살릴지의 문제입니다.
블록 크기가 처리량을 바꿉니다
| 블록 | 10,000 IOPS 일 때 처리량 |
|---|---|
| 4KB | 39.1 MB/s |
| 8KB | 78.1 MB/s |
| 16KB | 156.3 MB/s |
| 32KB | 312.5 MB/s |
| 64KB | 625 MB/s |
| 128KB | 1,250 MB/s |
| 256KB | 2,500 MB/s |
| 512KB | 5,000 MB/s |
| 1024KB | 10,000 MB/s |
사양서의 “100만 IOPS”는 대개 4KB 기준이고 “7GB/s”는 대개 128KB 이상 순차 읽기 기준입니다. 서로 다른 조건의 숫자라 그대로 곱해 비교하면 안 됩니다.
무작위 접근 한 번에 걸리는 시간은 평균 탐색시간 + 회전지연이고, 회전지연은 반 바퀴 도는 시간이라 60,000 ÷ rpm ÷ 2입니다. 7,200rpm이면 회전지연만 4.17ms 여서, 탐색시간을 9ms로 잡아도 76 IOPS 언저리가 한계입니다. 디스크를 늘려 총량은 키울 수 있어도 한 장당 이 벽은 넘지 못합니다 — SSD가 판을 바꾼 지점입니다.
사용 방법
- 1애플리케이션이 요구하는 앞단 IOPS와 읽기 비율을 넣습니다.
- 2RAID 레벨을 고릅니다. 쓰기 페널티가 자동으로 반영됩니다.
- 3디스크 종류를 고르거나 사양서의 IOPS를 직접 넣습니다.
- 4필요한 디스크 수와, 지금 가진 디스크로 낼 수 있는 IOPS를 확인합니다.
자주 묻는 질문
처리량(MB/s) = IOPS × 블록 크기(KB) ÷ 1024입니다. 10,000 IOPS를 8KB 블록으로 처리하면 78MB/s입니다. 같은 장비라도 블록이 작으면 IOPS가 커지고 처리량은 작아지므로, 사양서의 IOPS와 MB/s는 서로 다른 조건에서 잰 숫자입니다.
패리티를 쓰는 RAID에서 쓰기 한 번에 디스크 작업이 여러 번 일어나는 것을 말합니다. RAID 0은 1, RAID 1과 10은 2, RAID 5는 4, RAID 6은 6입니다. RAID 5가 4인 것은 옛 데이터와 옛 패리티를 읽고 새 데이터와 새 패리티를 쓰기 때문이고, RAID 6은 패리티가 둘이라 읽기 3번·쓰기 3번입니다.
디스크가 실제로 하는 일(백엔드 IOPS) ÷ 디스크 한 장의 IOPS를 올림합니다. 백엔드 IOPS는 읽기 IOPS + 쓰기 IOPS × 페널티입니다. 읽기 70%·쓰기 30%인 10,000 IOPS 부하를 RAID 5로 받으면 디스크는 19,000 IOPS만큼 일해야 합니다.
무작위 접근이라면 회전수가 결정합니다. 한 번에 걸리는 시간이 평균 탐색시간 + 회전지연이고, 회전지연은 60,000 ÷ rpm ÷ 2입니다. 7,200rpm이면 회전지연만 4.17ms 여서 탐색 9ms를 더해도 약 76 IOPS, 15,000rpm이면 약 182 IOPS입니다. 순차 접근은 탐색이 거의 없어 훨씬 높습니다.
제품과 조건에 따라 편차가 너무 크기 때문입니다. 같은 SSD도 큐 깊이, 읽기·쓰기 비율, 채워진 정도, 지속 쓰기 시간에 따라 몇 배씩 달라집니다. 목록의 값은 자릿수를 잡기 위한 어림값이니 실제 설계에는 사양서의 값을 넣으세요.
읽기에는 페널티가 없기 때문입니다. 읽기만 하면 RAID 레벨과 상관없이 증폭이 1이지만, 쓰기만 하면 증폭이 곧 페널티가 됩니다. 그래서 같은 IOPS라도 쓰기가 많은 부하는 디스크가 몇 배로 필요합니다. 읽기 성능만 보고 산정하면 쓰기에서 무너지는 이유입니다.
알아두면 좋은 점
- 하드디스크의 IOPS는 회전지연과 대표 탐색시간에서 계산한 값입니다. 실제 제품은 조금씩 다릅니다.
- SSD의 IOPS는 자릿수를 잡기 위한 어림값입니다. 제품·조건에 따라 편차가 크므로 사양서 값을 직접 넣으세요.
- 컨트롤러 캐시, 쓰기 병합, 순차·무작위 혼합, 큐 깊이는 반영하지 않았습니다. 실제 성능은 캐시 덕에 더 좋을 수도, 지속 부하에서 더 나쁠 수도 있습니다.
- RAID 5·6의 페널티는 부분 스트라이프 쓰기 기준입니다. 스트라이프 전체를 한 번에 쓰면 옛 값을 읽지 않아도 되어 페널티가 줄어듭니다.
- 용량 계산은 RAID 용량 계산기에서 보세요. 이 계산기는 성능만 다룹니다.
함께 보면 좋은 도구
마지막 검증: 2026년 8월 30일 · 결과는 참고용 추정치입니다.