IOPS 란? IOPS 계산 방법


IOPS 계산 방법 IOPS(Input/Output Operations Per Second, IOPS)는 HDD, SDD 또는 NVMe등 저장장치의 속도를 나타내는데 사용도는 측정 단위입니다. MB/s, MiB/s 또는 GB/s, GiB/s 등과 같이 초당 전송량과 함께 많이 최근 들어 많이 사용되고 있는 단위입니다.

IOPS 계산 방법

IOPS 측정값은 세부적으로 초당 전송량과 같이 임의 접근(Random Acess)과 순차접근(Sequential Acess)에 따라 다르고, 읽기 및 쓰기 동작에 따라 다릅니다. 이외의 성능 측정 프로그램과 CPU 와 메모리에 상화에 따라 차이가 나게 측정되기도 합니다.

(출처 : 위키피디아)

위의 이미지는 순차 접근과 임의 접근을 나타내는 그림입니다. 순차 접근의 경우 데이터를 쓰거나 읽기 위해서 순차저적으로 접근하기 때문에 데이터 및 위치 검색 등의 오버헤드가 없기 속도가 빠릅니다. 하지만 임의 접근위의 경우 데이터에 접근하기 위해서 추가적으로 접근, 검색하기 때문에 순차 접근과 비교했을 경우 속도가 많이 느린 것이 일반적입니다.

보다 자세한 Disk I/O 등 성능 측정과 관련해서는 아래의 글을 참고해 주시기 바랍니다.

리눅스 성능 측정 sysbench 사용법

IOPS 계산 방법

주어진 IOPS 값에서 초당 데이터 전송량을 계산하는 방법은 아래와 같습니다.

초당 데이터 전송량 = IOPS * 블럭크기(단위 데이터 용량)

만약 블럭 크기 등 단위 데이터 용량에서 IOPS 를 계산하기 위해서는 아래의 공식을 이용합니다.

IOPS = 초당 데이터 전송량 / 블럭크기(단위 데이터 용량)

블럭 크기인 단위 데이터 용량과 초당 데이터 전송량의 단위가 차이가 날 경우 추가 계산이 필요할 수 있습니다. 아래의 예제를 통해서 실제 계산 방법에 대해서 설명드리도록 하겠습니다.

IOPS 계산 예제

AWS에서 호스팅되고 있는 EBS 볼륨 유형의 IOPS 값을 이용하여, 이해하기 쉬운 초당 전송량을 계산해 보도록 하겠습니다.

Amazon EBS 볼륨 유형

IOPS 계산 방법

위에서 나타나 있는 최대 IOPS 값에서 범용 SSD(gp2) 값의 16,000 IOPS 가 초당 얼마만큼의 데이터를 전송 할 수 있는지 계산해 보도록 하겠습니다.

IOPS 값에서 초당 전송량을 계산하기 위해서는, IOPS 수치가 나타내는 단위 크기의 값을 알아야 합니다.

IOPS 계산 방법

같은 페이지에 IOPS 블럭 크기가 나와 있습니다. SSD(gp2) 가 16KiB 이기 때문 이 값을 이용하여 계산해 보도면 다음과 같이 최대 처리량(초당 데이터 전송률)250MiB/s (256,000 KiB/s) 으로 계산됩니다.

16,000 IOPS * 16KiB = 256000 KiB/s = 256000 / 1024 = 250MiB/s

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)