Block Volume Performance

The Oracle Cloud Infrastructure Block Volume service uses NVMe-based storage infrastructure, designed for consistency, and offers flexible and elastic performance. You only need to provision the capacity needed and performance scales with the performance characteristics of the performance level selected up to the service maximums.

You don't need to determine your performance needs ahead of creating and attaching block volumes. When you create a volume, by default, it is configured for the Balanced performance level. You can change this when create the volume or you can update it at any point after the volume is created. The elastic performance capability of the service enables you to pay for the performance characteristics you require independently from the size of your block volumes and boot volumes. If your requirements change, you only need to adjust the performance settings for the volume, you don't need to re-create your volumes.

Block Volume provides dynamic performance scaling with autotuning, see Dynamic Performance Scaling for more information.

Note

You should perform benchmark analysis during proof of concept testing to verify that your environment's configuration has adequate performance for your application requirements, for more information, see Metrics and Performance Testing.

Block Volume Performance Levels

When you create a volume, you can select the performance level, see Creating a Block Volume. You can also change the performance level for an existing volume. For more information, see Changing the Performance of a Volume. In the Console, you configure the performance using the slider or the VPU control as shown in the following screenshot.

Block Volume Performance slider

The following performance levels are available:

  • Ultra High Performance: Recommended for workloads with the highest I/O requirements, requiring the best possible performance. With this option, you can purchase between 30 – 120 VPUs per GB/month. For more information, including specific throughput and IOPS performance numbers for various volume sizes, see Ultra High Performance.
  • Higher Performance: Recommended for workloads with high I/O requirements that don't require the performance of the Ultra High Performance level. With this option, you are purchasing 20 VPUs per GB/month. For more information, including specific throughput and IOPS performance numbers for various volume sizes, see Higher Performance.
  • Balanced: The default performance level for new and existing block and boot volumes, and provides a good balance between performance and cost savings for most workloads. With this option, you are purchasing 10 VPUs per GB/month. For more information, including specific throughput and IOPS performance numbers for various volume sizes, see Balanced Performance.
  • Lower Cost: Recommended for throughput intensive workloads with large sequential I/O, such as streaming, log processing, and data warehouses. The cost is only the storage cost, there is no additional VPU cost. This option is only available for block volumes, it is not available for boot volumes. For more information, including specific throughput and IOPS performance numbers for various volume sizes, see Lower Cost.

Configuring the Performance Level for a Volume

You can configure the volume performance level for a block volume when you create a volume, see Creating a Block Volume. You can also change the volume performance level for an existing block volume, see To change the volume performance for an existing block volume.

When you create a compute instance, the volume performance level for the instance's boot volume is set to Balanced by default. You can change this setting after the instance has launched, see To change the volume performance for an existing boot volume.

Volume Performance Units

Block Volume performance includes the concept of volume performance units (VPUs). You can purchase more VPUs to allocate more resources to a volume, increasing IOPS/GB and throughput per GB. You also have the flexibility to purchase fewer VPUs, which reduces the performance characteristics for a volume, however it can also provide cost savings. You can also choose not to purchase any VPUs which can provide significant cost savings for volumes that don't require the increased performance characteristics.

For specific pricing details, see Oracle Storage Cloud Pricing.

The following table lists the performance characteristics for each performance level, along with the number of VPUs.

Elastic Performance Level

Volume Performance Units (VPUs)

IOPS per GB

Max IOPS per Volume

Size for Max IOPS (GB)

KBPS per GB

Max MBPS per Volume

Lower Cost 0 2 3,000 1,500 240 480
Balanced 10 60 25,000 417 480 480
Higher Performance 20 75 50,000 667 600 680
Ultra High Performance 30 90 75,000 833 720 880
Ultra High Performance 40 105 100,000 952 840 1,080
Ultra High Performance 50 120 125,000 1,042 960 1,280
Ultra High Performance 60 135 150,000 1,111 1,080 1,480
Ultra High Performance 70 150 175,000 1,167 1,200 1,680
Ultra High Performance 80 165 200,000 1,212 1,320 1,880
Ultra High Performance 90 180 225,000 1,250 1,440 2,080
Ultra High Performance 100 195 250,000 1,282 1,560 2,280
Ultra High Performance 110 210 275,000 1,310 1,680 2,480
Ultra High Performance 120 225 300,000 1,333 1,800 2,680

Calculating Volume Performance

You can calculte the expected performance for a volume, using the following calculations:

  • Starting at 10 VPUs (Balanced performance level), for each 10 VPU/GB increment, performance scales as follows:

    • + 15 IOPS/GB scale

    • + 25K IOPS for Max IOPS/Volume limit limit (up to maximum 300K IOPS for 120 VPU/GB)

    • + 120 KBPS/GB scale

    • + 200 Max MBPS/Volume limit

  • IOPS/GB = 1.5 * VPU/GB + 45

  • Max IOPS/Volume = 2,500 * VPU/GB

  • KBPS/GB = 12 * VPU/GB + 360

  • Max MBPS/Volume = 20 * VPU/GB + 280

Performance Details for Instance Shapes

A shape is a template that determines the number of OCPUs, amount of memory, and other resources that are allocated to an instance. The instance shape will impact the performance for attached volumes. This section provides Block Volume specific details for instance shapes.

The shapes that support multipath-enabled attachments, which are required for volumes configured for the Ultra High Performance level, are identified with a value of Yes in the Supports Ultra High Performance (UHP) column.

See Configuring Attachments to Ultra High Performance Volumes for more information about attaching volumes configured for Ultra High Performance.

For general information and additional details about compute instance shapes, see Compute Shapes.

Bare Metal Shapes

The following table lists the applicable details for attaching volumes to instances based on bare metal shapes.

Note

All current bare metal shapes support the Ultra High Performance level.
Shape OCPU Memory (GB) Max Network Bandwidth Max IOPS per Instance Max Throughput per Instance (Block Volume) Max Number of Attachments Supports Ultra High Performance (UHP)
BM.Standard2.52 52 768 2 x 25 Gbps 620,000 2.9 GB/s 32 Yes
BM.Standard3.64 64 1024 2 x 50 Gbps 300,000 2.6 GB/s 32 Yes
BM.Standard.E3.128 128 2048 2 x 50 Gbps 800,000 6 GB/s 32 Yes
BM.Standard.E4.128 128 2048 2 x 50 Gbps 800,000 6 GB/s 32 Yes
BM.DenseIO2.52 52 768 2 x 25 Gbps 620,000 2.9 GB/s 32 Yes
BM.DenseIO.E4.128 128 2048 2 x 50 Gbps 300,000 2.6 GB/s 32 Yes
BM.HPC2.36 36 384

1 x 25 Gbps

1 x 100 Gbps RDMA

620,000 2.9 GB/s 32 Yes
BM.GPU3.8 52

GPU Memory: 128

CPU Memory: 768 GB

2 x 50 Gbps 800,000 6 GB/s 32 Yes
BM.GPU4.8 64

GPU Memory: 320

CPU Memory: 2048 GB

1 x 50 Gbps

8 x 200 Gbps RDMA

800,000 6 GB/s 32 Yes
BM.Optimized3.36 36 512

2 x 50 Gbps

1 x 100 Gbps RDMA

800,000 6 GB/s 32 Yes
BM.Standard.A1.160 160 2048 2 x 50 Gbps 800,000 6 GB/s 32 Yes

VM Shapes for iSCSI-attached Volumes

The following table lists the applicable details for attaching volumes to instances based on VM shapes using iSCSI attachments.

Shape OCPU Memory (GB) Max Network Bandwidth Max IOPS per Instance Max Throughput per Instance (Block Volume) Max Number of Attachments Supports Ultra High Performance (UHP)
VM.Standard2.1 1 15 1 Gbps 25,000 120 MB/s 32 No
VM.Standard2.2 2 30 2 Gbps 50,000 240 MB/s 32 No
VM.Standard2.4 4 60 4.1 Gbps 80,000 480 MB/s 32 No
VM.Standard2.8 8 120 8.2 Gbps 90,000 900 MB/s 32 No
VM.Standard2.16 16 240 16.4 Gbps 120,000 1.8 GB/s 32 Yes
VM.Standard2.24 24 320 24.6 Gbps 140,000 2.9 GB/s 32 Yes
VM.Standard.E2.1.Micro 1 1 480 Mbps 6,000 50 MB/s 32 No
VM.DenseIO2.8 8 120 8.2 Gbps 90,000 900 MB/s 32 No
VM.DenseIO2.16 16 240 16.4 Gbps 120,000 1.8 GB/s 32 Yes
VM.DenseIO2.24 24 320 24.6 Gbps 140,000 2.9 GB/s 32 Yes
VM.DenseIO.E4.Flex 8 OCPU minimum, 32 OCPU maximum 128 GB minimum, 512 GB maximum 8 Gbps per OCPU, maximum 32 Gbps Up to 200,000 2.68 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.Standard.A1.Flex 1 OCPU minimum, 80 OCPU maximum 1 GB minimum, 512 GB maximum 1 Gbps per OCPU, maximum 40 Gbps Up to 300,000 3.2 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.Standard.E3.Flex 1 OCPU minimum, 64 OCPU maximum 1 GB minimum, 1024 GB maximum 1 Gbps per OCPU, maximum 40 Gbps Up to 300,000 3.2 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.Standard.E4.Flex 1 OCPU minimum, 64 OCPU maximum 1 GB minimum, 1024 GB maximum 1 Gbps per OCPU, maximum 40 Gbps Up to 300,000 3.2 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.Standard3.Flex 1 OCPU minimum, 32 OCPU maximum 1 GB minimum, 512 GB maximum 1 Gbps per OCPU, maximum 32 Gbps Up to 300,000 3.2 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.Optimized3.Flex 1 OCPU minimum, 18 OCPU maximum 1 GB minimum, 256 GB maximum 4 Gbps per OCPU, maximum 40 Gbps Up to 300,000 3.2 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.GPU3.1 6

GPU Memory: 16

CPU Memory: 90 GB

4 Gbps 80,000 480 MB/s 32

No

VM.GPU3.2 12

GPU Memory: 32

CPU Memory: 180 GB

8 Gbps 90,000 900 MB/s 32

No

VM.GPU3.3 24

GPU Memory: 64

CPU Memory: 360 GB

24.6 Gbps 140,000 2.9 GB/s 32

Yes

VM Shapes for Paravirtualized Attached Volumes

The following table lists the applicable details for attaching volumes to instances based on VM shapes using paravirtualized attachments for the Ultra High Performance level.

Note

To optimize performance for volumes configured for the Ultra High Performance level, attached using a paravirtualized attachment to a VM instance, the instance must be configured for 16 cores or more.
Note

Block Volume performance for paravirtualized volume attachments configured for Balanced performance and Higher Performance, for instances configured for 8 cores or more, follows performance for iSCSI attachments, at the Block Volume service level.
Shape OCPU Memory (GB) Max Network Bandwidth Max IOPS per Instance Max Throughput per Instance (Block Volume) Max Number of Attachments Supports Ultra High Performance (UHP)
VM.DenseIO.E4.Flex 8 OCPU minimum, 32 OCPU maximum 128 GB minimum, 512 GB maximum 8 Gbps per OCPU, maximum 32 Gbps 158,000 2.68 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.Optimized3.Flex 1 OCPU minimum, 18 OCPU maximum 1 GB minimum, 256 GB maximum 4 Gbps per OCPU, maximum 40 Gbps 300,000 2.68 GB/s 32 Yes (16+ cores)

No (< 16 cores)

VM.Standard.A1.Flex 1 OCPU minimum, 80 OCPU maximum 1 GB minimum, 512 GB maximum 1 Gbps per OCPU, maximum 40 Gbps 158,000 2.68 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.Standard.E3.Flex 1 OCPU minimum, 64 OCPU maximum 1 GB minimum, 1024 GB maximum 1 Gbps per OCPU, maximum 40 Gbps 158,000 2.68 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.Standard.E4.Flex 1 OCPU minimum, 64 OCPU maximum 1 GB minimum, 1024 GB maximum 1 Gbps per OCPU, maximum 40 Gbps 158,000 2.68 GB/s 32

Yes (16+ cores)

No (< 16 cores)

VM.Standard3.Flex 1 OCPU minimum, 32 OCPU maximum 1 GB minimum, 512 GB maximum 1 Gbps per OCPU, maximum 32 Gbps 158,000 2.68 GB/s 32

Yes (16+ cores)

No (< 16 cores)

Performance Limitations and Considerations

  • Block Volume performance SLA for IOPS per volume and IOPS per instance applies to the Balanced, Higher Performance, and Ultra High Performance levels only, not the Lower Cost level.
  • The performance results described in this topic are for unformatted data volumes. Performance is lower for Windows-formatted data volumes. Linux-formatted data volume performance is similar to performance for unformatted data volumes.

  • Bare metal intances that support in-transit encryption have a maximum throughput of 540 MB/s at the Higher Performance level.

  • Only one volume can be attached with a multipath-enabled attachment to an instance at a time. Multipath-enabled attachments are required to optimize performance with volumes configured for Ultra High Performance. See Attaching Ultra High Performance Volumes for more information.

  • The throughput performance results are for bare metal compute instances. Throughput performance on virtual machine (VM) compute instances depends on the network bandwidth that is available to the instance, and further limited by that bandwidth for the volume. For details about the network bandwidth available for VM shapes, see the Network Bandwidth column in the Virtual Machine (VM) Shapes table.

  • An instance's performance characteristics affect an attached volume's effective IOPS and throughput. For information about the performance characteristics for instance shapes, see Performance Details for Instance Shapes.

  • Block Volume performance SLA for IOPS per volume and IOPS per instance applies to raw, unformatted volumes, with iSCSI volume attachments and to paravirtualized volume attachments for 16 core or higher VMs for Ultra High Performance, and for 8 cores or higher VMs for Balanced and Higher Performance, at the Block Volume service level.

  • For the Lower Cost option, you may not see the same latency performance that you see with the other performance levels. You may also see a greater variance in latency with the Lower Cost option.

  • Windows Defender Advanced Threat Protection (Windows Defender ATP) is enabled by default on all Windows platform images. This tool has a significant negative impact on disk I/O performance. The IOPS performance characteristics described in this topic are valid for Windows bare metal instances with Windows Defender ATP disabled for disk I/O. Customers must carefully consider the security implications of disabling Windows Defender ATP. See Windows Defender Advanced Threat Protection.

  • Block volume performance is per volume, so when a block volume is attached to multiple instances the performance is shared across all the attached instances. See Attaching a Volume to Multiple Instances.