IOPS란?
IOPS는 "Input/Output Operations Per Second"의 약자로, 컴퓨터 또는 저장 장치의 성능을 나타내는 중요한 지표 중 하나입니다. IOPS는 초당 처리되는 I/O의 개수라고 이해하면 됩니다. 보통 저장장치의 속도를 나타낼때의 측정 단위가 되면 이는 데이터 스토리지 장치의 성능을 측정할 사용됩니다. IOPS가 100이라고 하면 1초에 100 X 블럭 크기 만큼의 IO가 가능하다고 할 수 있습니다.
IOPS를 예시로 설명하면:
가정해 봅시다. 당신이 하드 디스크 드라이브 (HDD)와 솔리드 스테이트 드라이브 (SSD) 두 가지 다른 유형의 저장 장치를 가지고 있다고 합시다. 이 두 드라이브는 데이터를 저장하고 검색하는 데 얼마나 빠르게 작동하는지를 측정할 때 IOPS가 유용합니다.
1. HDD의 IOPS: HDD는 회전하는 디스크로 데이터에 접근하므로 상대적으로 느린 IOPS를 갖습니다.
예를 들어, HDD가 100 IOPS를 갖는다면, 1초에 100번의 데이터 읽기 또는 쓰기 작업을 수행할 수 있습니다.
2. SSD의 IOPS: 반면 SSD는 디스크 회전이 없으며 전자적으로 데이터에 접근하기 때문에 매우 빠른 IOPS를 갖습니다.
일반적으로 수천 개에서 수십만 개의 IOPS를 가질 수 있습니다.
더 높은 IOPS는 데이터를 빠르게 읽고 쓰는 데 더 효과적이며, 특히 데이터베이스 서버, 웹 서버 또는 가상 머신과 같이 입출력 집약적인 작업을 처리하는 서버에 적합합니다. SSD는 이러한 작업에 효과적이며 대량 데이터의 빠른 검색 및 저장을 지원합니다.
계산 방법은 다음과 같습니다.
초당 데이터 전송량 = IOPS * 블럭크기 (단위 데이터 용량)
IOPS = 초당 데이터 전송량 / 블럭크기 (단위 데이터 용량)
여기서 블럭의 크기를 아는 것이 중요한 부분인데 블럭이란 IO의 최소 단위입니다.
보통 ORACLE이나 다른 DBMS는 IO의 기본 단위를 블록(페이지)로 정의된다.
* Oracle, ProsgreSQL, MS-SQL의 경우 8KB가 디폴트이며, MySQL, MariaDB는 16KB가 디폴트 사이즈 입니다.
요약하자면, IOPS는 저장 장치의 성능을 나타내며 더 높은 IOPS는 더 빠른 데이터 액세스와 처리를 의미합니다.
이는 컴퓨터 시스템의 전반적인 성능에 영향을 미칠 수 있으므로 하드웨어를 선택하거나 시스템을 최적화할 때 고려해야 합니다.