티스토리 뷰

IOPS는 단위 시간(1초) 동안 디스크로부터 Input/Output을 수행한 수치를 의미한다. 

즉, 초당 입출력 횟수라 볼 수 있다. 


기본적으로 HDD, SSD, SAN 같은 컴퓨터 저장장치를 벤치마크 하는 데 사용하는 성능 측정 단위이기도 하다. 

IOPS는 Iometer, IOzone, FIO 등 응용프로그램으로 측정할 수 있다고 한다.


IOPS를 구할 수 있는 기본 수식은 다음과 같다. 

IOPS = 1000 / (Average Read Seek Time + (Maximum Rotational Latency / 2))


디스크를 읽고 쓰기 위해서 "탐색 시간 + 회전 대기 시간"이 필요하다.  

이런 평균 탐색 시간을 구하고, 회전 대기 시간은 최대 값을 구해서 2로 나누는 방식으로 평균 회전 대기시간을 구한 것이다. 



7200 rpm의 하드 디스크를 가지고 계산을 한번 해 보자. 

rpm은 분당 회전수를 나타내므로 1분에 7200번 회전을 한다는 것이다. 

그러면 1번 회전하는데 최대 걸리는 시간은 어떻게 될까? 

이것이 바로 회전 대기 시간(Rotational Latency)이 된다. 

1분:7200번 = x:1번

7200x = 1분

x = 1분 / 7200 = 60초 / 7200 = 60000ms / 7200

x = 8.3 ms (최대 회전 대기 시간)


만약 평균 탐색 시간이 8ms라고 가정하면 

7200 rpm의 하드디스크의 IOPS는 다음과 같다. 

IOPS = 1000 / (8ms + (8.3ms/2)) = 82,3


그러나 실제 IOPS의 구체적인 숫자는 프로그램에 입력한 변수에 따라 달라진다고 한다. 

예를 들어, Bus의 대역폭, 사용 가능한 메모리 양, 메모리 캐시의 데이터 보유량, Utilization 고려 등도 영향을 줄 수 있기 때문이다. 

IOPS를 줄이면, 단위 시간 동안 많은 양의 데이터를 한번에 전송할 수 있으므로 시스템의 응답시간을 줄일 수 있다고 한다. 


댓글
댓글쓰기 폼