도구스개발

IOPS·처리량 계산기

IOPS와 처리량(MB/s)을 블록 크기로 서로 변환하고, RAID 쓰기 페널티를 반영해 필요한 디스크 수를 구합니다. 읽기·쓰기 비율에 따라 디스크가 실제로 몇 배 일하는지 함께 봅니다.

IOPS

애플리케이션이 요구하는 초당 입출력 횟수입니다.

%

나머지는 쓰기로 봅니다. 쓰기 비율이 RAID 페널티를 통해 디스크 수를 좌우합니다.

옛 데이터·옛 패리티를 읽고 새 데이터·새 패리티를 씁니다.

탐색 3.5ms + 회전지연 2.0ms.

IOPS

0이면 위에서 고른 값을 씁니다.

데이터베이스는 4~16KB, 백업·영상은 128KB 이상이 흔합니다.

필요한 디스크 수

105 장

디스크가 실제로 하는 일 19,000 IOPS · 증폭 1.9배 · 처리량 78.1MB/s

앞단 IOPS10,000 IOPS
읽기 · 쓰기7,000 · 3,000 IOPS
쓰기 페널티 (RAID 5)×4
디스크가 하는 일19,000 IOPS
증폭1.9배
필요한 디스크105장
지금 24장으로 낼 수 있는 앞단 IOPS2,299 IOPS
처리량 (8KB 블록)78.1 MB/s
읽기 성능만 보고 디스크 수를 정하면 쓰기에서 무너집니다.
읽기 70% · 쓰기 30%인 부하를 RAID 5로 받으면, 앞단에서 보는 IOPS 하나마다 디스크는 0.7 + 0.3 × 4 = 1.9 일합니다. 패리티를 쓰는 RAID는 쓰기 한 번에 옛 데이터와 옛 패리티를 읽고 새 데이터와 새 패리티를 쓰기 때문입니다.

RAID 레벨을 바꾸면

레벨페널티디스크가 하는 일필요한 디스크
RAID 0×110,00055
RAID 1 · 10×213,00072
RAID 5×419,000105
RAID 6×625,000138

용량 효율은 반대 순서입니다. RAID 6은 디스크를 가장 많이 쓰지만 두 장이 동시에 죽어도 버팁니다. 성능과 안전과 용량 중 무엇을 살릴지의 문제입니다.

블록 크기가 처리량을 바꿉니다

블록10,000 IOPS 일 때 처리량
4KB39.1 MB/s
8KB78.1 MB/s
16KB156.3 MB/s
32KB312.5 MB/s
64KB625 MB/s
128KB1,250 MB/s
256KB2,500 MB/s
512KB5,000 MB/s
1024KB10,000 MB/s

사양서의 “100만 IOPS”는 대개 4KB 기준이고 “7GB/s”는 대개 128KB 이상 순차 읽기 기준입니다. 서로 다른 조건의 숫자라 그대로 곱해 비교하면 안 됩니다.

하드디스크의 IOPS는 회전수가 정합니다.
무작위 접근 한 번에 걸리는 시간은 평균 탐색시간 + 회전지연이고, 회전지연은 반 바퀴 도는 시간이라 60,000 ÷ rpm ÷ 2입니다. 7,200rpm이면 회전지연만 4.17ms 여서, 탐색시간을 9ms로 잡아도 76 IOPS 언저리가 한계입니다. 디스크를 늘려 총량은 키울 수 있어도 한 장당 이 벽은 넘지 못합니다 — SSD가 판을 바꾼 지점입니다.

사용 방법

  1. 1애플리케이션이 요구하는 앞단 IOPS와 읽기 비율을 넣습니다.
  2. 2RAID 레벨을 고릅니다. 쓰기 페널티가 자동으로 반영됩니다.
  3. 3디스크 종류를 고르거나 사양서의 IOPS를 직접 넣습니다.
  4. 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일 · 결과는 참고용 추정치입니다.