The following Blog discusses the results of testing I/O performance of an Oracle Database running on Oracle’s Cloud X7 generation instances compared to the same database running on Amazon Web Services (AWS). The Oracle Stress Testing Tool (SLOB) was used to test the performance.

The results suggest that it is possible to achieve almost double the performance at less than half the cost on Oracle Cloud compared to AWS RDS.

  1. Instance Configuration:
    1. OCI
    2. AWS
  2. Testing:
    1. Testing Data Load Performance OCI vs AWS
    2. Testing physical random single-block reads (db file sequential read) - OCI vs AWS
      1. OCI Performance Charts
      2. AWS Performance Charts
  3. Summary of Results

1. Instance Configuration:

OCI

The following instance configurations were used to run the Oracle Database on Oracle Cloud Infrastructure:

VM.Standard.2.8 => 8 OCPU, 120 GB Memory, 256 GB - 40 TB Block Storage Only, Network
Bandwidth - 2.4 Gbps, X7
BYOL Enterprise Package price is $0.2903 OCPU/hr
Block Volume Storage Cost is $0.0425 GB Storage Capacity/Month

Monthly Running Cost(Pay as you go)
$0.2903 * 24hrs * 30 days * 8 OCPU = $1672
$0.0425 * 4096GB = $174
Total Monthly Price = $1846 (Excluding Oracle Licence Price)

AWS

The following instance configurations were used to run the Oracle Database on AWS RDS:

db.m4.4xlarge => 16vCPU, 64GB RAM, PIOPS-Optimized:Yes, Network Performance:High, Database Storage 4TB SSD, Provisioned IOPS 40000
Single AZ, BYOL, US West Oregon db.m4.4xlarge price is $1.401 per hour
Storage price is $0.125 per GB-month
Provisioned IOPS price is $0.10 per IOPS-month

Monthly Running Cost
40000 PIOPS * $0.10 = $4000
4096 GB * $0.125 = $512
24 hrs * 30 days * $1.401 = $1009
Total Monthly Price = $5521 (Excluding Oracle Licence Price)

Notes:

  • 1OCPU=2vCPUs.
  • RDS has a limit of 16TB storage and 40000 IOPS for Oracle DB.
  • OCI block storage provides 100 IOPS/GB by default, for AWS we had to use Provisioned IOPS to archive comparable performance.

2. Testing:

2.1. Testing Data Load Performance OCI vs AWS

The results of our Data Load Performance testing can be viewed below:

Type - db.m4.4xlarge
CPU - 16vcpu
SGA - 16G
PGA - 4G
Active Data - 256G
DB Connections - 4
Activity - Direct Path insert 256GB of data
Database Version - 11.2.0.4
db_block_size - 8k
Type - VM.Standard2.8
CPU - 8OCPU
SGA - 16G
PGA - 4G
Active Data - 256G
DB Connections - 4
Activity - Direct Path insert 256GB of data
Database Version - 11.2.0.4
db_block_size - 8k
Disk
Write Mb/sec 100-150 270-310 (LGWR)
Write Req/sec (IOPS) 1500-2000 70-100 (LGWR)
Write Latency msec 8-10 <1
Total Runtime mins 74 55

It was found that OCI takes 1.4x less time to load the same amount of data compared to AWS.

2.2 Testing physical random single-block reads (db file sequential read) - OCI vs AWS

The results of our Read Performance testing can be viewed below:

Type - db.m4.4xlarge
CPU - 16vcpu
SGA - 16G
PGA - 4G
Active Data - 256G
DB Connections - 256
R/W Ratio - 1000
Database Version - 11.2.0.4
db_block_size - 8k
Type - VM.Standard2.8
CPU - 8OCPU
SGA - 16G
PGA - 4G
Active Data - 256G
DB Connections - 256
R/W Ratio - 1000
Database Version - 11.2.0.4
db_block_size - 8k
CPU
User CPU % 0.1 15
System CPU % 6.4 8.5
IOWait CPU % 26.6 70.3
Idle CPU % 42 70.8
Load Average 222.5 217.8
Disk
Read Mb/sec 237.2 439.1
Read Req/sec (IOPS) 30,362.8 56,119.0
Read Latency msec 10 5
Oracle Metrics
DB CPU 9.5 3.2
Buffer Hit % 99.18 7.52
Top Event db file parallel read
Total Waits - 294,667
Avg Wait Time (ms) - 149
% DB Time - 57.3
db file sequential read
Total Waits - 1,283,801
Avg Wait Time (ms) - 21
% DB Time - 17.3
db file parallel read
Total Waits - 1,097,642
Avg Wait Time (ms) - 13
% DB Time - 9.2
Monthly Infrastructure Cost $5521 $1846

OCI Performance Charts

Load, Average Active Sessions and Throughput

OCI Workload Performance Results Average Runnable Processes and Average Active Sessions
Latency, IOPS
OCI Workload Performance Results Latency for Single Block Reads

AWS Performance Charts

IOPS (read)

Oracle Database on AWS Infrastructure Benchmark Testing Read IOPS
Latency (read)
Oracle Database on AWS Infrastructure Benchmark Testing Latency Reads
Latency (write)
Oracle Database on AWS Infrastructure Benchmark Testing Latency writes
Throughput (write)
Oracle Database on AWS Infrastructure Benchmark Testing Throughput writes
IOPS (write)
Oracle Database on AWS Infrastructure Benchmark Testing IOPS writes
Throughput (read)
Oracle Database on AWS Infrastructure Benchmark Testing Throughput Reads
IOPS (read)
Oracle Database on AWS Infrastructure Benchmark Testing IOPS Reads
CPU
Oracle Database on AWS Infrastructure Benchmark Testing CPU Utility

It was found that read performance of OCI is 1.9x times higher than that of AWS.

Note: Refer to Benchmarking Oracle’s DBaaS against RDS - A Performance Comparison
for SLOB configuration and other details.

3. Summary of Results:

When it comes to running Oracle Database on the cloud, Oracle definitely has an upper edge compared to other cloud platform Database Services.

We ran a direct performance comparison on different measures and found Oracle to outperform AWS for all metrics used. It was found that Data Load time for the same amount of data is 1.4x faster in Oracle Cloud compared to AWS. It was also observed that Read IOPS were 1.9x higher in Oracle Cloud than on AWS.

These results were somewhat to be expected because all vendors naturally optimize their products to work best on their own platforms. What is noticeable however, is the significant degree of the performance difference - Oracle Database is not just a little better run on Oracle’s Cloud Infrastructure, but a lot. Where Amazon shines in terms of features and diversity across their cloud offering, Oracle really hits home when it comes to performance.

Finally, it was noticed that Oracle Cloud Database infrastructure could be operated at 13 of the cost compared to running a similar setup in AWS. AWS is cool, easy to use, and it’s pretty, but it’s also pretty expensive.

Conclusively, running an Oracle Database on Oracle’s Cloud Infrastructure resulted in superior performance and achieved significant cost savings compared to running the same Oracle Database on AWS.