블록 스토리지 용량 및 성능
워크로드에 맞는 최적의 블록 스토리지 볼륨 크기와 성능 수준을 선택하는 것이 중요합니다. 프로비저닝할 때 Block Storage for VPC 에서 볼륨의 크기와 필요한 성능 수준을 지정할 수 있습니다.
용량
Block Storage for VPC는 사용자 요구사항을 충족하기 위해 다양한 범위의 스토리지 용량을 제공합니다. 데이터 볼륨에 대해 선택한 스토리지 프로필에 따라 1GB 단위로 10~16,000GB의 용량을 지정할 수 있습니다. 부트 볼륨은 기본적으로 100GB입니다. 사용자 지정 이미지에서 인스턴스를 프로비저닝하는 경우 부팅 볼륨 용량을 최대 250GB까지 지정할 수 있습니다.
Block Storage 볼륨 프로필
Block Storage for VPC 볼륨을 프로비저닝할 때는 스토리지 요구 사항에 가장 적합한 볼륨 프로필 를 지정합니다. 세 가지 사전 정의된 계층화 프로파일을 사용하거나 사용자 정의 프로파일을 선택할 수 있습니다. 계층형 제품군의 프로필은 최대 16,000GB 용량의 볼륨에 대해 사전 정의된 IOPS/GB 성능을 제공합니다. 사용자 정의 프로파일은 선택할 수 있는 볼륨 용량 및 IOPS 범위를 정의합니다. 이 프로파일은 SSD(Solid-State Drives)에서 지원됩니다.
볼륨 대역폭이 할당되는 방법
VSI에 제공되는 대역폭은 연결된 저장 용량과 네트워킹으로 나뉩니다. 초기 볼륨 및 네트워크 대역폭 할당은 인스턴스 프로필에 따라 다릅니다. 인스턴스의 전체 대역폭에 대한 할당은 네트워크 대역폭과 볼륨 대역폭 간의 균형에 맞게 조정될 수 있습니다. 초기 볼륨 및 네트워크 대역폭 할당을 지정하지 않으면 총 인스턴스 대역폭의 25%가 볼륨 대역폭에 할당되고 75%가 네트워크 대역폭에 할당됩니다. 자세한 정보는 인스턴스 프로파일에 대한 대역폭 할당을 참조하십시오.
프로비저닝된 볼륨 대역폭은 볼륨이 인스턴스에 연결되었을 때 볼륨에 할당할 수 있는 최대 잠재 대역폭입니다. 연결된 볼륨의 총 최대 대역폭이 인스턴스에서 사용 가능한 양을 초과하는 경우 각 볼륨 연결에 대한 대역폭이 비례하여 설정됩니다. 대역폭은 해당 볼륨의 최대 대역폭을 기반으로 할당됩니다. 자세한 정보는 블록 스토리지 볼륨에 대한 대역폭 할당을 참조하십시오.
I/O 크기가 성능에 미치는 영향
IOPS 메트릭은 저장 장치가 초당 수행할 수 있는 읽기 및/또는 쓰기 작업의 수를 보여줍니다. 볼륨의 IOPS 값은 모든 볼륨 프로필에 대해 읽기/쓰기 무작위 워크로드가 50대 50인 16KB 블록 크기를 기준으로 합니다. 16KB의 각 데이터 읽기/쓰기가 하나의 읽기/쓰기 조작으로 계수됩니다. 16KB 미만의 단일 쓰기는 하나의 쓰기 조작으로 계수됩니다.
프로비전된 볼륨 처리량 제한은 IOPS 수에 미리 설정된 처리량 배수를 곱한 값으로 결정됩니다. 사전 설정값은 3 IOPS/GB 또는 5 IOPS/GB 계층 프로파일의 경우 16KB, 10 IOPS/GB 계층 또는 사용자 지정 볼륨 프로파일의 경우 256KB입니다. 지정한 IOPS가 높을수록 처리량도 높아집니다. 최대 처리량은 1024MBps(8192Mbps)입니다. 최대 처리량 값에 대한 자세한 내용은 블록 스토리지 프로필 제품군을 참조하세요.
애플리케이션의 I/O 크기는 스토리지 볼륨 프로필의 처리량 배율과 다를 수 있으며 워크로드 성능에 직접적인 영향을 미칩니다. 애플리케이션 I/O 크기가 16KB보다 작으면 처리량 제한 전에 IOPS 제한에 도달합니다. 반대로, 응용 프로그램 I/O 크기가 사전 설정된 처리량 배수보다 크면 IOPS 제한에 도달하기 전에 처리량 제한에 도달할 수 있습니다.
다음 표는 애플리케이션 I/O 크기와 프로비저닝된 IOPS가 처리량에 어떤 영향을 미치는지 보여주는 몇 가지 예를 보여줍니다. 처리량은 다음과 같이 계산됩니다.
- 평균 애플리케이션 I/O 크기 x IOPS = 처리량
평균 I/O 크기 (KB) | IOPS | 처리량(Mbps) |
---|---|---|
4(일반적으로 Linux®의 경우) | 1,000 | 4 |
8(Oracle에서 일반적으로 사용됨) | 1,000 | 8 |
16 | 1,000 | 16 |
32 (SQL Server에 일반적) | 500 | 16 |
64 | 250 | 16 |
128 | 128 | 16 |
이 예제에서 성능 상한은 1000 IOPS 또는 16MBps 처리량입니다. 더 작은 I/O 크기를 사용하면 최대 IOPS를 달성할 수 있지만 처리량은 볼륨이 처리할 수 있는 것보다 적습니다.
다음 예는 IOPS 값이 동일할 때 평균 I/O 크기가 작을수록 처리량이 어떻게 감소하는지를 보여줍니다.
- 16 KB * 6000 IOPS == ~94 MBps
- 8 KB * 6000 IOPS == ~47 MBps
- 4 KB * 6000 IOPS == ~23 MBps
IO 크기를 변경하지 않고 스토리지 볼륨의 성능을 개선하려면 IOPS 값을 조정하면 됩니다. 이를 위해서는 볼륨 용량을 늘려야 할 수도 있습니다. 자세한 내용은 블록 스토리지 볼륨의 IOPS 조정하기를 참조하세요. 1세대 볼륨의 처리량 제한은 직접 조정할 수 없습니다.