저장 공간

IOPS란 무엇인가요?

다른 이름: input/output operations per second
정의

IOPS measures how many individual read or write operations a storage device completes per second. Random 4K IOPS at a queue depth of one is the number that predicts database behaviour; sequential throughput is the number that appears in marketing.

IOPS가 중요한 이유

큐 깊이 1에서의 임의 4K IOPS는 데이터베이스 동작을 예측하는 값입니다. 순차 처리량은 마케팅에 나타나는 값입니다.

IOPS 실제 적용

실제로 서버를 실행할 때 IOPS는 쿼리가 느려질 때 주시하는 값입니다. 데이터베이스의 임의 4K 읽기 대기 시간을 보고 디스크가 병목인지 확인합니다. 그렇다면 NVMe로 이동하거나 드라이브를 추가합니다. 무시하면 부하에서 애플리케이션이 느려지고, 모든 느린 쿼리는 사용자를 잃게 합니다. 저장소 구성을 변경할 수 있지만 즉각적이지 않습니다: 티어를 낮추려면 재구축이 필요하고, 추가 NVMe는 두 번째 블록 장치로 연결됩니다. 잘못하면 서버가 테스트에서는 빠르게 느껴지지만 프로덕션에서는 무너집니다.

IOPS에 대한 사람들의 오해

IOPS가 고정된 숫자라는 것은 오해입니다. 그렇지 않습니다. 큐 깊이와 블록 크기에 따라 달라집니다. 드라이브는 높은 큐 깊이에서 높은 IOPS를 주장할 수 있지만, 데이터베이스에 중요한 것은 큐 깊이 1에서의 랜덤 4K입니다. 수정: 마케팅 숫자로 스토리지를 비교하면 잘못된 장치를 선택하게 됩니다. 큐 깊이 1의 수치를 보십시오.

IOPS — 일반적인 질문

IOPS 테스트에 어떤 큐 깊이를 사용해야 하나요?

데이터베이스 워크로드에는 큐 깊이 1을 사용하세요. 대부분의 OLTP 쿼리가 단일 독립 읽기를 실행하기 때문에 실제 동작을 예측하는 숫자입니다. 더 높은 큐 깊이는 IOPS 수치를 부풀릴 수 있지만 데이터베이스가 실제로 디스크에 접근하는 방식을 반영하지 않습니다.

IOPS와 처리량은 어떻게 다른가요?

IOPS는 초당 개별 작업 수를 계산하고, 처리량은 초당 바이트를 측정합니다. 백업 같은 순차 전송은 높은 처리량을 달성하지만 낮은 IOPS를 가질 수 있고, 데이터베이스는 많은 작은 랜덤 읽기를 수행하므로 IOPS가 더 중요합니다. 마케팅은 종종 순차 숫자를 인용합니다.

저장 공간에서 더 보기

NVMe
NVMe는 PCIe를 통해 솔리드 스테이트 드라이브를 직접 연결하는 스토리지 프로토콜로, 약 500,000 임의 IOPS와 100마이크로초 미만의 지연 시간에 도달합니다.
RAID 10
RAID 10은 드라이브 쌍에 걸쳐 데이터를 미러링하고 미러에 걸쳐 스트라이핑하여 중복성과 고성능을 제공하지만 원시 용량의 절반을 희생합니다.
스냅샷
스냅샷은 가상 머신 디스크의 특정 시점 복사본으로, 즉시 생성되어 동일한 인프라에 저장됩니다.