What I have learned from 100 Oracle Benchmarks on Datrium

· 4 min read

I have recently completed a series of benchmarks with Oracle on Datrium, and as it comes with no surprise Oracle is a perfect fit for Datrium's host flash acceleration and integrated data protection. I have documented tests, findings and recommendations in a document published here, but below you will find a few highlights and lessons learned.

  • [OEL + ASM FTW] XFS with CentOS/7 provides the highest number of Read IO/sec in a single sample, and ASM + OEL (Oracle Enterprise Linux) produced the highest number of Write IO/sec. However, the highest average IO/sec for both Read and Write IOs across all benchmarks was provided by Oracle ASM + OEL, making ASM with Oracle Enterprise Linux the best option in terms of performance and manageability.

  • [READ OR MIXED?] Linux LVM and Oracle ASM provide excellent performance with their default configuration. The difference between 512KB and 4MB block sizes is marginal, but larger block sizes should be used for read-intensive workloads with Large Read I/O.

  • [FLASH + LVM] - When using Linux LVM the XFS file system provides best performance when paired with high speed disks, such as SSDs, that can take real advantage from parallelized access and multi-thread designs.

  • [SCREAMING PERFORMANCE] Datrium performance outshine any published and comparable benchmark by HCI vendors that I have been able to find. This picture demonstrates 3 hosts delivering 165K IOPS and 1.3GB/s throughput, with an average VM-Level latency of 1.7ms. Considering Datrium upper system limit of 128 hosts, and assuming the same workload per host, we can expect approximately 7M IOPS and 55.4GB/s throughput with the same VM-Level latency of 1.7ms. (source blog at the end)

  • [ZERO IMPACT DATA PROTECTION] Datrium Protection Groups and snapshots offer zero impact during high-performance workloads, unlike most HCI solutions. The picture below demonstrates two 12-hour Oracle burn-in tests, being the first one without snapshots, and the second one with native snapshots taken every 10 minutes, and retained for 24 hours. (source blog at the end)

  • [ZERO IMPACT ENCRYPTION] Datrium provides consistent performance and near-zero impact when applying End-to-End encryption along with all enterprise data services. The picture below demonstrates three 1-hour Oracle burn-in tests, being the first one without encryption, the second one with Approved mode encryption and the third one with Validated mode encryption. (source blog at the end)

  • [RMAN IS BONUS] Use Datrium crash-consistent protection for Oracle DB with instant recovery from local or remote snapshots. Where app-consistent data protection is required compliment with Oracle RMAN and Data Guard.

  • [MAX OUT PVSCSI]- Four paravirtual SCSI (PVSCSI) controllers for high I/O load. The use of multiple paravirtual SCSI controllers allows the execution of several parallel I/O operations inside the guest OS.

  • [KEEP SCSI LEAN] Multiple disks evenly distributed across paravirtual SCSI (PVSCSI) controllers provide enhanced parallel I/O operations inside the guest operating system. My tests demonstrate that peak performance (at least with Datrium) is achieved with 3 data disks per controller, but 2 data disks per controller offer similar performance results while keeping the solution simpler.

  • [IT'S FLASH BABY] Quantity, capacity and performance is important. My tests demonstrate that for Oracle databases, four or more cheaper and slower SSDs will perform at lower latency and higher IOPS than two fast and expensive SSDs due to I/O parallelization and multithreading.

  • [KEEP DB SIMPLE] Datrium does not require separate Redo/Log I/O traffic from data file I/O traffic through separate virtual SCSI controllers, but some Oracle administrators may want to segment for database hygiene perspective.

  • [PACKET SIZES] - Default MTU of 1500 between ComputeNodes and Data Nodes provide excellent performance. Jumbo frames with an MTU of 9000 is not a requirement.

  • [DB_BLOCK_CHECKSUM is OFF] - DB_BLOCK_CHECKSUM determines whether the direct loader will calculate a checksum and store it in the cache header of every data block when writing it to disk. Datrium already natively calculate data block checksums and guarantee data integrity.

  • [REDUNDANCY INCLUDED] Datrium natively provides 3-way replication using Erasure Coding with Parity 2, there Oracle ASM should simply be set for External Redundancy. In external redundancy, the underlying disks in the disk group must provide redundancy.

There has been a lot of lessons learned, including finding out that few vendors lie, hide, skew, and deceive customers about their benchmark numbers. As I mentioned, you will find all about my tests in a document published here.

All blog posts on Oracle:

This article was first published by Andre Leibovici (@andreleibovici) at myvirtualcloud.net

storagevirtualization

Datriumoracle