블록 스토리지 성능

개요

이 페이지에서는 가상 머신(VM) 인스턴스에 연결하는 블록 스토리지 볼륨의 성능을 결정하는 다양한 요인을 설명합니다. 시작하기 전에 다음 사항을 고려하세요.

  • 영구 디스크의 성능 한도에 도달하려면 높은 I/O 큐 깊이(32 이상)를 사용하세요. 영구 디스크는 네트워크 연결 스토리지이며 일반적으로 물리적 디스크 또는 로컬 SSD에 비해 지연 시간이 깁니다.

  • 디스크가 포화되기에 충분한 I/O를 애플리케이션이 실행하는지 확인합니다.

  • 작은(4KB~16KB) 임의 I/O를 필요로 하는 워크로드는 초당 임의 입출력 작업(IOPS)에 따라 성능이 제한됩니다.

  • 순차 또는 큰(256KB~1MB) 임의 I/O가 주로 필요한 워크로드의 성능 제한 요인은 처리량입니다.

스토리지 옵션 선택

인스턴스에 사용할 여러 블록 스토리지 유형을 제공할 수 있습니다. 여러 가상 머신에 영구 디스크를 연결해도 집계 성능이나 비용에는 영향을 미치지 않습니다. 각 머신은 디스크당 성능 한도 중 일정 비율을 차지합니다.

영역 영구 디스크 또는 리전 영구 디스크를 구성할 때 다음 디스크 유형 중 하나를 선택해야 합니다.

  • 표준 영구 디스크(pd-standard)는 순차 I/O를 주로 사용하는 큰 데이터 처리 워크로드에 적합합니다.
  • 균형 있는 영구 디스크(pd-balanced)는 성능과 비용이 균형을 이루는 SSD 영구 디스크의 대안입니다. SSD 영구 디스크와 최대 IOPS가 같고 GB당 IOPS는 낮은 균형 있는 PD는 대부분의 범용 애플리케이션에 적합한 성능 수준을 표준 영구 디스크와 SSD 영구 디스크 사이의 가격으로 제공합니다.
  • SSD 영구 디스크(pd-ssd)는 표준 영구 디스크보다 짧은 지연 시간과 더 많은 IOPS가 필요한 엔터프라이즈 애플리케이션 및 고성능 데이터베이스에 적합합니다. SSD 영구 디스크는 한 자릿수의 밀리초 지연 시간을 위해 설계되었습니다. 관찰된 지연 시간은 앱에 따라 다릅니다.
영역
표준
PD
리전
표준
PD
영역
균형 있는
PD
리전
균형 있는
PD
영역
SSD PD
리전
SSD PD
로컬 SSD(SCSI) 로컬 SSD(NVMe)
최대 지속 IOPS
GB당 읽기 IOPS 0.75 0.75 6 6 30 30
GB당 쓰기 IOPS 1.5 1.5 6 6 30 30
인스턴스당 읽기 IOPS 7,500* 3,000* 15,000~80,000* 15,000~80,000* 15,000~100,000* 15,000~100,000* 900,000 2,400,000
인스턴스당 쓰기 IOPS 15,000* 15,000* 15,000~30,000* 15,000~30,000* 15,000~100,000* 15,000~100,000* 800,000 1,200,000
최대 지속 처리량(MB/s)
GB당 읽기 처리량 0.12 0.12 0.28 0.28 0.48 0.48
GB당 쓰기 처리량 0.12 0.12 0.28 0.28 0.48 0.48
인스턴스당 읽기 처리량 240~1,200* 240~1,200* 240~1,200* 240~1,200* 240~1,200* 240~1,200* 9,360 9,360
인스턴스당 쓰기 처리량 76~400** 38~200** 240~1,200* 120~600* 240~1,200* 120~600* 4,680 4,680
* 영구 디스크의 IOPS 및 처리량 성능은 여러 요인 중에서도 디스크 크기, 인스턴스 vCPU 수, I/O 블록 크기에 따라 달라집니다.
** 영구 디스크의 처리량 성능은 인스턴스에 vCPU 수가 많을수록 향상됩니다. 쓰기 처리량의 네트워크 이그레스 상한을 참조하세요.

최대 성능 한도에 근접한 SSD 읽기 대역폭과 IOPS 일관성은 대체로 네트워크 인그레스 사용률에 따라 달라집니다. 특히 16KB의 I/O 크기로 최대 IOPS 한도에 근접해 작동할 때는 성능 한도의 일부 변동을 예상해야 합니다.

영구 디스크와 물리적 하드 드라이브 비교

영구 디스크 크기를 지정할 때는 이러한 디스크가 기존의 물리적 하드 드라이브와 어떻게 다른지 고려해야 합니다. 다음 표에서는 일반적으로 75 IOPS 또는 120MB/초의 성능의 7,200 RPM SATA 드라이브의 일반적인 성능과 표준 영구 디스크 및 SSD 영구 디스크를 비교합니다.

I/O 유형 I/O 패턴 7,200 RPM SATA 드라이브에 상응하는 필요 크기(GB)
표준 영구 디스크 균형 있는 영구 디스크 SSD 영구 디스크
작은 데이터 임의 읽기 작은 데이터 임의 읽기 75회 100 12 3
작은 데이터 임의 쓰기 작은 데이터 임의 쓰기 75회 50 12 3
스트리밍 큰 데이터 읽기 120MB/s 스트리밍 읽기 1,000 428 250
스트리밍 큰 데이터 쓰기 120MB/s 스트리밍 쓰기 1,000 428 250

영구 디스크 및 인스턴스 구성

영구 디스크 성능은 디스크 크기와 VM 인스턴스의 vCPU 수에 따라 확장됩니다.

성능은 디스크 한도 또는 디스크가 연결된 VM 인스턴스의 한도에 도달할 때까지 확장됩니다. VM 인스턴스 한도는 머신 유형 및 인스턴스의 vCPU 수에 따라 결정됩니다.

예를 들어 N2 머신 유형과 vCPU 4개가 있는 인스턴스에 연결된 1,000GB SSD 영구 디스크를 가정해 보겠습니다. 디스크 크기만을 기준으로 하는 읽기 한도는 30,000 IOPS입니다. 하지만 인스턴스에 4개의 vCPU가 있으므로 읽기 한도가 15,000 IOPS로 제한됩니다.

다음 표는 디스크 크기 증가에 따라 성능이 크게 변함을 보여줍니다. 다만 1GB 단위로 증가하도록 디스크 크기를 지정할 수 있습니다. 성능 요구사항에 따라 디스크 및 VM 인스턴스를 구성합니다.

디스크 크기별 성능

표준 영구 디스크

IOPS 지속 처리량(MB/s)
디스크 크기(GB) 읽기
(I/O당 16KB 이하)
쓰기
(I/O당 8KB 이하)
쓰기
(I/O당 16KB)
읽기 쓰기
10 * * * * *
32 24 48 48 3 3
64 48 96 96 7 7
128 96 192 192 15 15
256 192 384 384 30 30
512 384 768 768 61 61
1,000 750 1,500 1,500 120 120
1,500 1,125 2,250 2,250 180 180
2,048 1,536 3,072 3,072 245 245
4,000 3,000 6,000 6,000 480 400
5,000 3,750 7,500 7,500 600 400
8,192 6,144 12,288 7,500 983 400
10,000~
65,536
7,500 15,000 7,500 1,200 400

* 이 디스크 크기는 부팅 디스크에만 사용하세요. 이 디스크 크기에 해당하는 성능 한도는 매우 낮지만 VM을 빠르게 부팅하기에는 충분하기 때문입니다.

SSD 영구 디스크

IOPS 지속 처리량(MB/s)
디스크 크기(GB) 읽기
(I/O당 8KB 이하)
읽기
(I/O당 16KB 이하)
쓰기
(I/O당 8KB 이하)
쓰기
(I/O당 16KB)
읽기 쓰기
10 300 300 300 300 4.8 4.8
32 960 960 960 960 15 15
64 1,920 1,920 1,920 1,920 30 30
128 3,840 3,840 3,840 3,840 61 61
256 7,680 7,680 7,680 7,680 122 122
500 15,000 15,000 15,000 15,000 240 240
834 25,000 25,000 25,000 25,000 400 400
1,000 30,000 30,000 30,000 25,000 480 480
1,334 40,000 40,000 40,000 40,000 640 640
1,667 50,000 50,000 50,000 50,000 800 800
2,048 60,000 60,000 60,000 60,000 983 983
3,500~65,536 100,000 75,000 100,000* 75,000 1,200 1,200

*리전 SSD 영구 디스크에서 이 한도에 도달하려면 4KB의 물리적 블록 크기를 사용해야 합니다.

머신 유형과 vCPU 개수

성능 및 제한 측정항목 검토

Google Cloud의 통합 모니터링 솔루션인 Cloud Monitoring에서 영구 디스크 성능 측정항목을 검토할 수 있습니다.

이러한 측정항목 중 몇몇은 디스크 제한 여부와 시점을 파악하는 데 유용합니다. 제한을 통해 간헐적으로 집중되는 I/O를 완화할 수 있습니다. 제한을 사용하면 일정 기간에 걸쳐 간헐적으로 집중되는 I/O를 분산하여 항상 디스크의 성능 제한을 충족하면서 이를 초과하지 않도록 할 수 있습니다.

워크로드의 I/O 사용 패턴이 간헐적으로 집중되는 경우 제한된 바이트에서 읽기 또는 쓰기 바이트의 버스트에 해당하는 버스트가 발생할 수 있습니다. 마찬가지로 읽기/쓰기 작업의 버스트에 해당하는 버스트가 제한된 작업에서도 표시될 수 있습니다.

디스크 한도가 1,000 쓰기 IOPS이면 디스크는 1밀리초마다 쓰기 요청을 수락합니다. 이보다 빠르게 쓰기 요청을 실행하면 요청을 1밀리초 간격으로 분산하기 위해 약간의 지연이 발생합니다. 이 페이지에서 설명하는 IOPS 및 처리량 한도는 분 또는 초 단위가 아니라 항상 적용됩니다.

데이터베이스는 급격히 증가한 워크로드의 일반적인 예시입니다. 데이터베이스는 종종 I/O 작업이 순간적으로 급증하는 경향이 있으며 이로 인해 큐 깊이가 일시적으로 증가합니다. 큐 깊이가 높을수록 큐에서 더 많은 I/O 작업 요청이 대기 중이므로 지연 시간이 길어질 수 있습니다.

워크로드의 I/O 사용 패턴이 균일하고 디스크의 성능 제한에 지속적으로 도달하는 경우 제한된 바이트 및 작업이 균일하게 나타나게 됩니다.

자세한 내용은 영구 디스크 성능 측정항목 검토를 참조하세요.

디스크 성능 최적화

디스크 성능을 높이려면 다음 단계를 따르세요.

  • 영구 디스크의 크기를 조절하여 디스크당 IOPS 및 처리량 한도를 늘립니다. 영구 디스크에는 사용할 수 없는 예약된 용량이 없으므로 성능 저하 없이 전체 디스크를 사용할 수 있습니다. 하지만 특정 파일 시스템 및 애플리케이션은 디스크가 가득 차면 성능이 저하될 수 있으므로 이를 방지하기 위해 디스크 크기를 늘려야 할 수 있습니다.

  • 인스턴스의 vCPU 수와 머신 유형을 변경하여 인스턴스당 IOPS 및 처리량 한도를 늘립니다.

병목 현상의 원인이 VM의 디스크 크기 또는 머신 유형이 아님을 확인한 후에도 앱과 운영체제의 조정이 필요할 수 있습니다. 영구 디스크 성능 최적화로컬 SSD 성능 최적화를 참조하세요.

성능에 영향을 미치는 기타 요인

다음 단계