Oracle Cloud Infrastructure Documentation

Compute Performance

The content in the sections below apply to Category 7 and Section 3.a of the Oracle PaaS and IaaS Public Cloud Services Pillar documentation.

Oracle Cloud Infrastructure provides a variety of instance configurations in both bare metal and virtual machine (VM) shapes. Each shape varies on multiple dimensions including memory, CPU cores, network bandwidth, and the option of local NVMe SSD storage found in DenseIO shapes.

Oracle Cloud Infrastructure provides a service-level agreement (SLA) for NVMe performance. Measuring performance is complex and open to variability.

A NVMe drive also has non-uniform drive performance over the period of drive usage. A NVMe drive performs differently when tested brand new compared to when tested in a steady-state after some duration of usage. New drives have not incurred many write/erase cycles and the inline garbage collection has not had a significant impact on IOPS performance. To achieve the goal of reproducibility and reduced variability, our testing focuses on the steady-state duration of the NVMe drive’s operation.

Testing Methodology

Warning

Before running any tests, protect your data by making a backup of your data and operating system environment to prevent any data loss. The tests described in this document will overwrite the data on the disk, and cause data corruption.

Summary: To capture the IOPS measure, first provision a shape such as the new BM.DenseIO2.52, and then use the Gartner Cloud Harmony test suite to run tests on an instance running the latest supported Oracle Linux image for each NVMe drive target.

Instructions:

  1. Launch an instance based on the latest supported Oracle Linux image and select a shape such as the new BM.DenseIO2.52. For launch instructions, see Creating an Instance.

  2. Run the Gartner Cloud Harmony test suite tests on the instance for each NVMe drive target. The following is an example of a command that will work for all shapes and drives on the shape:

    sudo ./run.sh `ls /dev/nvme[0-9]n1 | sed -e 's/\//\--target=\//'` 
    --nopurge –noprecondition --fio_direct=1 --fio_size=10g --test=iops
    --skip_blocksize=512b --skip_blocksize=8k --skip_blocksize=16k
    --skip_blocksize=32k --skip_blocksize=64k --skip_blocksize=128k
    --skip_blocksize=1m

The SLA for NVMe drive performance is measured against 4k block sizes with 100% random write workload on DenseIO shapes where the drive is in a steady-state of operation.

Performance Benchmarks

The following table lists the minimum IOPS for the specified shape to meet the SLA, given the testing methodology with 4k block sizes for 100% random write tests using the tests described in the previous section.

Shape

Minimum Supported IOPS

VM.DenseIO1.4 200k
VM.DenseIO1.8 250k
VM.DenseIO1.16 400k
BM.DenseIO1.36 2.5MM
VM.DenseIO2.8

250k

VM.DenseIO2.16 400k
VM.DenseIO2.24 800k
BM.DenseIO2.52 3.0MM

While the NVMe drives are capable of higher IOPS, Oracle Cloud Infrastructure currently guarantee this minimum level of IOPS performance.

Frequently Asked Questions

Q: I suspect a slowdown in my NVMe drive performance. Is there a SLA violation?
Q: Why does the testing methodology not represent a diversity of IO workloads such as random reads and writes to reflect real world IO?
Q: Will Oracle Cloud Infrastructure change the tests in this document?