SheepDev

인프라·운영 추정

IOPS가 높아도 파일 전송이 느린 이유는?

사용할 도구

높은 SSD IOPS는 빨라 보이지만 작은 읽기 다수와 순차 파일 전송은 다른 작업입니다. IOPS는 초당 횟수이며 회당 바이트를 곱해야 처리량입니다. 이 도구는 비교 전제를 맞추는 용도이지 실제 장치 성능 예측기가 아닙니다.

4KiB에서 10,000 IOPS 계산하기

작은 I/O 계산 예
10,000 × 4 × 1024 = 40,960,000 byte/s
40,960,000 ÷ 1024² = 39.0625 MiB/s

IOPS→처리량에서 10000과 평균 4KiB를 넣으면 40960000 byte/s, 39.0625MiB/s입니다. 횟수 자체가 MB/s가 아니라 회당 4KiB가 연결합니다. 횟수에는 천 단위 구분자를 빼고 크기 필드의 KiB 단위를 확인하세요.

같은 속도는 십진 단위로 40.96MB/s입니다. 39.0625와의 차이는 성능이 아니라 단위 차이입니다. MB/s와 MiB/s를 맞춰 비교하고 약 40이라고만 적지 마세요.

같은 횟수라도 64KiB면 데이터량은 16배

I/O 크기만 바꾸기
10,000 IOPS × 64 KiB = 625 MiB/s
64 ÷ 4 = 16
625 ÷ 39.0625 = 16

10000 IOPS를 유지하고 64KiB로 바꾸면 625MiB/s로 16배입니다. 같은 SSD가 두 크기에서 모두 그 횟수를 유지한다는 증명은 아닙니다. 계산은 입력 속도를 전제로 하며 달성 여부는 측정해야 합니다.

A의 작은 I/O 최대 횟수와 B의 큰 I/O 최대 처리량을 바로 순위 매기지 마세요. 읽기·쓰기, 순차·임의, 동시 발행 수 조건도 맞춰야 합니다. 계산기에 없는 조건을 결과 숫자가 평가한 것은 아닙니다.

목표 처리량에서 필요한 IOPS 역산하기

100MiB/s에 필요한 횟수
100 MiB/s ÷ 4 KiB = 25,600 IOPS
100 MiB/s ÷ 64 KiB = 1,600 IOPS

역산에서 100MiB/s·4KiB는 25600 IOPS, 64KiB는 1600입니다. 같은 데이터 속도라도 작업 단위에 따라 횟수가 달라지므로 읽기를 묶는 개선의 초기 참고가 됩니다.

큰 덩어리로 읽으면 불필요한 데이터까지 가져와 횟수는 줄고 총량은 늘 수 있습니다. 평균 크기 확대 자체가 목표는 아닙니다. 유효 데이터·지연·캐시를 관찰하고 묶으면 반드시 빨라진다고 해석하지 마세요.

같은 기간의 데이터량과 횟수로 평균 구하기

평균 크기는 같은 기간 총 바이트를 총 연산 수로 나눈 값입니다. 읽기 바이트에 읽기·쓰기 합산 횟수를 쓰면 작아집니다. 다른 시점의 최대값을 섞지 말고 대상·기간·집계 계층을 맞추세요.

앱의 읽기 한 번과 스토리지가 세는 I/O 한 번은 분할·병합으로 다를 수 있습니다. 클라우드 IOPS 한도는 서비스의 집계 규칙을 확인하세요. 도구는 사업자별 분할·요금 규칙을 자동 적용하지 않습니다.

결과로 병목 후보 정리하기

연산 수와 바이트 속도 제한이 동시에 있을 수 있습니다. 계산상 625MiB/s여도 더 낮은 처리량 한계를 넘지 못하고 작은 I/O는 횟수 한계가 먼저 올 수 있습니다. 단위를 맞춰 두 제약을 비교하면 다음 조사 대상을 정할 수 있습니다.

평균 4KiB에서 10000 IOPS가 지속된다는 가정으로 39.0625MiB/s라고 적고 실측·공표 최대·가정을 구분하세요. 짧은 전제만으로 단순 변환이 하드웨어 보장으로 오해되는 일을 막을 수 있습니다.

참고 자료

사용할 도구

가이드 →