Compute NVMe 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.
An NVMe drive also has non-uniform drive performance over the period of drive usage. An 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.
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 BM.DenseIO2.52 shape, and then use the Gartner Cloud Harmony test suite to run tests on an instance running the latest supported Oracle Linux 7 image for each NVMe drive target.
Launch an instance based on the latest supported Oracle Linux 7 image and select a shape such as the BM.DenseIO2.52 shape. For instructions, see Creating an Instance.
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.
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.
Minimum Supported IOPS
Although the NVMe drives are capable of higher IOPS, Oracle Cloud Infrastructure currently guarantees this minimum level of IOPS performance.
Frequently Asked Questions
A: We test hosts on a regular basis to ensure that are our low-level software updates do not regress performance. If you have reproduced the testing methodology and your drive’s performance does not meet the terms in the SLA, please contact your Oracle sales team.
A: We focused on reproducibility and we believe the tests provide a significant indicator of overall drive performance.
A: We will make changes to provide greater customer value through better guarantees and improved reproducibility.