블록 스토리지 용량 및 성능
워크로드에 맞는 최적의 블록 스토리지 볼륨 크기와 성능 수준을 선택하는 것이 중요합니다. 프로비저닝할 때 Block Storage for VPC 에서 볼륨의 크기와 필요한 성능 수준을 지정할 수 있습니다.
용량
Block Storage for VPC는 사용자 요구사항을 충족하기 위해 다양한 범위의 스토리지 용량을 제공합니다. 데이터 볼륨에 대해 선택한 스토리지 프로필에 따라 1GB 단위로 10~16,000GB의 용량을 지정할 수 있습니다. 부트 볼륨은 기본적으로 100GB입니다. 사용자 지정 이미지에서 인스턴스를 프로비저닝하는 경우 부팅 볼륨 용량을 최대 250GB까지 지정할 수 있습니다.
가용성 선택 특별 액세스 권한이 있는 허용 목록 고객은 최대 32,000GB까지 2세대 데이터 볼륨을 프로비저닝할 수 있습니다. 2세대 부팅 볼륨을 처음 만든 후 용량을 32,000GB까지 늘릴 수도 있습니다.
Block Storage 볼륨 프로필
Block Storage for VPC 볼륨을 프로비저닝할 때는 스토리지 요구 사항에 가장 적합한 볼륨 프로필 를 지정합니다. 세 가지 사전 정의된 계층화 프로파일을 사용하거나 사용자 정의 프로파일을 선택할 수 있습니다. 계층형 제품군의 프로필은 최대 16,000GB 용량의 볼륨에 대해 사전 정의된 IOPS/GB 성능을 제공합니다. 사용자 정의 프로파일은 선택할 수 있는 볼륨 용량 및 IOPS 범위를 정의합니다. 이 프로파일은 SSD(Solid-State Drives)에서 지원됩니다.
가용성 선택 허용 목록에 있는 고객은 3000~64,000 IOPS 범위의 사용자 지정 IOPS로SSD 정의 성능 프로필을 사용하여 볼륨을 프로비저닝할 수 있습니다. 새 볼륨을 3rd 세대 인스턴스 프로파일을 사용하여 가상 서버 인스턴스에 연결하면 48,000 이상의 IOPS 수준을 달성할 수 있습니다. 사용자 지정 용량 및 IOPS 외에도 2세대 볼륨에 대한 사용자 지정 처리량 제한을 지정할 수도 있습니다. 프로비저닝된 대역폭 제한은 1251024MBps(10008192Mbps) 범위에서 설정할 수 있습니다.
볼륨 대역폭이 할당되는 방법
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세대 볼륨의 처리량 제한은 직접 조정할 수 없습니다.
2세대 볼륨: 2세대 볼륨을 만들거나 IOPS 및 처리량 값을 조정할 때는 IO 크기, IOPS 및 처리량 간의 관계를 이해하는 것이 특히 중요합니다. 설정한 IOPS 값은 16KB로 가정한 IO 크기를 기준으로 합니다. 사전 설정 처리량 값은 지정된 IOPS 값에 사전 설정된 16KB IO 크기를 곱하여 계산됩니다. 애플리케이션에서 16KB보다 큰 IO 크기를 사용하는 경우 처리량 제한에 도달하여 최대 IOPS 값을 달성하지 못할 수 있습니다. 이러한 경우 볼륨의 처리량 값을 늘려 더 많은 IOPS를 얻을 수 있습니다. 자세한 내용은 Block Storage for VPC 볼륨의 처리량 제한 조정하기를 참조하세요