메뉴

스토리지의 성능 지표 IOPS란 무엇일까요?

people discussing about graph
목차

이 페이지 공유하기

Jihoon Jung
Jung, Ji-Hoon

스토리지 도입을 검토할 때 스토리지 제조사의 홈페이지나 카탈로그에서 'IOPS'라는 용어를 자주 접하게 됩니다. 예를 들어, NetApp의 홈페이지에서 올플래시 스토리지 AFF A-Series를 소개하는 부분에 "최대 40,000,000 IOPS까지 확장 가능"이라는 문구가 있습니다.

혹시 회사 엔지니어에게 "IOPS가 뭐죠?"라고 물어본다면 "IOPS는 'Input/Output Per Second'의 약자로, 1초당 처리할 수 있는 입출력 횟수를 의미합니다"라는 답변을 들을 수도 있습니다.

하지만 이런 간단한 설명만으로는 IOPS가 스토리지 성능에 어떤 영향을 미치는지 이해하기 어려울 수 있습니다. 그래서 이번 글에서는 IOPS에 대해 좀 더 자세히 알아보고자 합니다. 스토리지를 선택할 때 꼭 필요한 정보이니, 이번 글을 통해 IOPS에 대해 정확히 이해하고 현명한 선택을 하시는데 도움이 되길 바랍니다.

Input과 Output이란?

IOPS의 'IO'는 입력(Input)과 출력(Output)의 약자입니다. 그렇다면 입력과 출력은 무엇을 의미할까요?

정답은 데이터의 '쓰기'와 '읽기'입니다. 입력은 서버에서 스토리지로 데이터를 쓰는 것을, 출력은 스토리지에서 데이터를 읽어 시스템 서버로 전송하는 것 즉, 데이터를 읽는 것을 의미합니다.

여기서 주의할 점은 'IO'는 데이터를 '쓰고 읽는' 일련의 동작이 아니라, 단순히 '쓰기'와 '읽기'라는 두 가지 행위를 함께 나타내는 용어라는 것입니다. 예를 들면 ‘IO 데이터’라고 표현하는 경우, ‘읽기 쓰기 데이터’가 아니라, ‘읽은 데이터’와 ‘쓴 데이터’라고 하는 2 종류를 가리키고 있습니다.

IOPS란 무엇인가?

입력과 출력의 의미를 이해했다면, 이제 IOPS에 대해 더 자세히 알아보겠습니다. IOPS의 'PS'는 'Per Second(초당)'를 의미합니다. 따라서 IOPS는 '스토리지가 1초 동안 처리할 수 있는 입출력 횟수'를 나타냅니다. IOPS가 높을수록 1초 동안 처리할 수 있는 입출력 횟수가 많아져 스토리지 성능이 뛰어나다는 것을 의미합니다.

IOPS는 다음과 같은 공식으로 계산할 수 있습니다.

IOPS = 1 / (평균 접근 시간 + 데이터 전송 시간)

여기서 평균 접근 시간은 데이터를 찾는 데 걸리는 시간(탐색 시간)과 데이터가 전송될 위치까지 도달하는 데 걸리는 시간(지연 시간)을 합한 값입니다. 예를 들어, 8KB 데이터를 쓰는 데 평균 접근 시간에 1밀리초, 데이터 전송 시간에 1밀리초가 소요되는 스토리지를 사용한다면, IOPS는 500이 됩니다. 즉, 이 스토리지는 1초에 500번의 데이터 쓰기 작업을 처리할 수 있습니다.

IOPS=1/(1ms+1ms)=500 IOPS

데이터베이스 애플리케이션처럼 읽기와 쓰기 작업이 빈번한 경우에는 IOPS가 높을수록 처리 속도가 빨라집니다.

실제 환경에서는 읽기, 쓰기, 데이터 크기에 따라 IOPS가 달라지기 때문에 '8KB 랜덤 쓰기 IOPS'와 같이 조건을 명시하여 정확하게 표현합니다.

디스크 드라이브와 플래시 메모리의 IOPS 차이

현재 스토리지 제품은 크게 디스크 드라이브를 사용하는 것과 플래시 메모리를 사용하는 것으로 나눌 수 있습니다. 디스크 드라이브는 자기 디스크를 여러 장 탑재해 데이터를 읽고 쓰며 대량의 데이터를 저장할 수 있습니다. 일반적으로 'HDD(하드 디스크 드라이브)'라고 불리는 스토리지 제품이 해당됩니다.

HDD의 IOPS는 분당 회전 수(RPM)에 따라 달라집니다. 현재 가장 빠른 RPM은 15,000RPM입니다. 그러나 HDD 제품은 기계 부품을 많이 사용하기 때문에 15,000RPM 이상의 회전수를 실현하기 어렵습니다. 따라서 IOPS는 최대 210 IOPS 정도에 머무릅니다.

반면, 플래시 메모리는 '셀'이라는 전자를 저장하는 칩을 사용해 데이터를 저장합니다. 현재는 HDD 제품 이상의 대용량화가 이루어졌고, 기계 부품이 적어 처리 성능이 대폭 향상되었습니다. 일반적인 플래시 메모리 제품으로는 'SSD(솔리드 스테이트 드라이브)'가 있습니다. 현재는 데스크톱 PC의 스토리지에도 널리 사용됩니다. 데스크톱 PC용 SSD 제품의 IOPS는 50,000 IOPS 이상입니다. 소비자용 SSD 제품도 HDD 제품보다 100배 이상의 성능을 자랑합니다.

기업용 플래시 메모리를 사용한 NetApp AFF와 같은 스토리지 제품의 경우 수백만 IOPS를 실현하는 제품도 있어 원하는 성능을 쉽게 얻을 수 있습니다.

IOPS 수치가 높으면 좋은 점

IOPS가 높아지면 단순히 'IT 시스템을 이용한 작업이 편리해진다'는 것 이상의 이점이 있습니다. 가장 중요한 것은 '업무 애플리케이션의 성능을 최대한으로 발휘할 수 있다'는 점입니다.

'급변하는 비즈니스 환경에 대한 대응'이나 '인력 부족'과 같은 과제가 부각될 수록, 많은 기업은 '생산성 향상'을 위해 다양한 노력을 기울이고 있습니다. 특히 '시스템 성능 향상'은 생산성을 높이는데 도움을 가져다줄 수 있습니다.

각 업무 애플리케이션의 성능을 향상시키면 시스템 작업에 걸리는 시간이 줄어들어 자연스럽게 생산성이 향상됩니다. 데이터 양이 급증하는 상황에서 시스템 성능이 저하되면 상대적으로 생산성도 떨어지게 됩니다. 스토리지의 IOPS 수치가 높으면 시스템 성능을 최대한 끌어올려 생산성을 높일 수 있습니다.

또한, 성능은 비용과 직결됩니다. 고성능 스토리지를 통해 많은 업무 워크로드를 감당할 수 있으면 스토리지 구매를 최소화할 수 있으며, 이는 상면 공간, 전력 소비 등 관련 비용 절감으로 이어집니다.

이제 IOPS에 대해 잘 이해하셨나요?

IOPS는 스토리지 성능을 나타내는 중요한 지표이며, IOPS가 높은 제품은 일반적으로 고성능을 제공하는 것을 의미합니다. 하지만 제품 선택 시에는 실제 테스트를 통해 성능을 확인하는 것도 중요합니다.

본 블로그는 2023년 8월까지 공개된 스토리지 채널의 내용을 재구성한 것입니다.

Jung, Ji-Hoon

현재 한국넷앱에서 어카운트 테크놀로지 스페셜리스트로 근무하면서 통신사 및 클라우드 사업자를 위한 스토리지 아키텍처 컨설팅을 수행하고 있습니다.

Jung, Ji-Hoon의 모든 게시물 보기

다음 단계

Drift chat loading