저장 공간

NVMe란 무엇인가요?

다른 이름: NVM Express
정의

NVMe is a storage protocol that connects solid-state drives directly over PCIe, reaching roughly 500,000 random IOPS with sub-100-microsecond latency. Its deep parallel queue model is architecturally different from SATA, which inherits a single-queue design intended for mechanical disks.

NVMe가 중요한 이유

그 깊은 병렬 큐 모델은 기계식 디스크를 위해 설계된 단일 큐 아키텍처를 계승하는 SATA와 구조적으로 다릅니다. 데이터베이스 기반 응용 프로그램의 경우 임의 IOPS 차이가 사용자가 실제로 느끼는 차이입니다.

NVMe 실제 적용

NVMe 인스턴스를 프로비저닝할 때 가장 먼저 살펴볼 것은 스토리지 워크로드의 큐 깊이입니다. SATA 기반 서버는 부하 시 수천 IOPS에서 최대치에 도달할 것이며, NVMe는 약 500,000 랜덤 IOPS와 100마이크로초 미만의 지연 시간을 유지합니다. sysbench 및 fio 테스트를 순차 처리량이 아닌 randread와 randwrite를 측정하도록 변경하고, 데이터베이스 커밋의 차이를 관찰하세요. SAS 디스크의 블록 크기에 맞게 최적화하거나 I/O 스케줄러 설정을 무시한다면, 하드웨어 성능의 대부분을 활용하지 못하는 것입니다. 잘못 설정하면 실제로 디스크를 사용하는 워크로드에서 지연 시간이 백 배로 늘어납니다.

NVMe에 대한 사람들의 오해

사람들은 NVMe가 단지 더 빠른 SSD라고 가정하여 GB 단위의 크기로 플랜을 선택합니다. 수정: NVMe의 차이는 병렬 큐 모델이지, 단순한 대역폭이 아닙니다. 대용량 SATA 드라이브는 여전히 단일 큐 랜덤 I/O에서 병목 현상을 일으킬 것입니다. 더 작은 NVMe 드라이브는 데이터베이스 워크로드에서 이를 능가할 것입니다. 크기도 중요하지만, 지연 시간에 민감한 작업에서는 IOPS가 무시하면 비용이 발생하는 지표입니다.

NVMe — 일반적인 질문

NVMe가 달성하는 랜덤 IOPS는 얼마인가요?

공개된 정의에 따르면 약 500,000 랜덤 IOPS입니다. 이는 일반적인 SATA SSD보다 약 천 배 많은 수치입니다. 100마이크로초 미만의 지연 시간은 작은 랜덤 읽기/쓰기 작업에서 디스크 메커니즘이나 단일 SATA 큐를 기다리지 않는다는 것을 의미합니다—컨트롤러와 PCIe 버스가 유일한 경로입니다.

웹사이트에 NVMe가 필요한가요?

워크로드가 무작위 I/O 중심(예: 데이터베이스 또는 캐시)인 경우에만 해당합니다. 정적 파일 전송이나 트래픽이 적은 사이트는 NVMe와 SATA의 차이를 느끼지 못합니다. 차이는 지속적인 혼합 워크로드에서 나타나며, SATA의 단일 큐가 포화되고 대기 시간이 급증합니다. Postgres 또는 Redis를 실행한다면, NVMe가 꼬리 지연 시간을 낮게 유지해 줍니다.

NVMe가 등장하는 곳

저장 공간에서 더 보기

IOPS
IOPS는 스토리지 장치가 초당 완료하는 개별 읽기 또는 쓰기 작업 수를 측정합니다.
RAID 10
RAID 10은 드라이브 쌍에 걸쳐 데이터를 미러링하고 미러에 걸쳐 스트라이핑하여 중복성과 고성능을 제공하지만 원시 용량의 절반을 희생합니다.
스냅샷
스냅샷은 가상 머신 디스크의 특정 시점 복사본으로, 즉시 생성되어 동일한 인프라에 저장됩니다.