윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT

IOPS(Input/Output Operations Per Second)

※ IOPS

Input/Output Operations Per Second 의 약어. '초당 입출력 처리'횟수다. 요즘 HDD/SSD의 벤치마크에서 중요하게 생각하는 수치다. 아래와 같이 계산할 수 있다.

- IOPS = 1000 (ms/s) / (Random Read Seek Time(ms) + Average Latency(ms))
- Average Latency(ms) = Maximum Latency(ms) / 2
- Maximum Latency(ms) = 60000(ms/min) / Rotation Speed(rpm)
- IOPS × 전송크기(바이트) = 초당전송크기(Bytes/Sec)

※ 예를 들어 Seagate ST3160318AS (160GB, 7200, SATA-2) 의 경우

스펙: http://www.seagate.com/www/en-us/products/desktops/barracuda_hard_drives/

- Random read seek time = 8.5ms
- Average latency = 4.16

∴ IOPS = 1000 / (8.5 + 4.16) = 78.9

※ IOPS 수치 샘플

7200RPM SATA-2      90
10KRPM SAS         140
15KRPM SAS         180
10KRPM SATA NCQ    290 (Q:24)
SSD 4K             400
Intel X25-E       5000
OCZ Vertex 3     60000

- 자료: 위키피디아

※ 주의

- 실제로 벤치마크 툴을 이용해 HDD의 IOPS를 재어보면 계산된 것보다 약간 빠르다. HDD AHCI에서 해주는 스케줄링 때문이다. 요즘의 고성능 HDD는 NCQ의 Queue 크기를 늘여서 IOPS의 향상을 괴하고 있다.

- IOPS가 80이라 해도, 한번에 수 메가 바이트씩 전송하기 때문에, 순차전송속도는 SSD 못지않게 빠르다. 요즘나오는 왠만한 하드디스크는 못해도 100MB/s는 전송해주는 듯.

- OS에서 HDD의 느린 IOPS를 감안해 각종 기술(예를 들어 캐시)을 개발해 사용하기 때문에 IOPS와 체감 속도와는 차이가 있다.