Storage Performance Series - Samsung PM1725a NVMe SSD
Tags: business, solution, architecture, performance
Published: 2020-11-11 20:41:01

Continuing on with providing some examples of various storage technologies and their performance profiles, this time we looked at the growing trend of leveraging internal commodity-based server storage, specifically the new [HPE Cloudline 3150 Gen10](https://psnow.ext.hpe.com/doc/PSN1010129707USEN.pdf) AMD processor-based single socket servers with two 3.2TB [Samsung  PM1725a](https://www.samsung.com/semiconductor/global.semi.static/Samsung_PM1725a_NVMe_SSD-0.pdf) NVMe drives.  

<!--break-->

### <big>Hardware Configuration and Linux LVM Setup</big>

<font size="3">The configuration tested included the following details:</font>

  * <font size="3">2 x Samsung 3.2TB PM1725a NVMe drives (internal to server)</font>
  * <font size="3">1 x HPE Cloudline 3150 Gen10 server</font>
  * <font size="3">Red Hat Enterprise Linux 7.5 64-bit</font>

<font size="3">No other storage devices or HBAs where used in this testing.</font>

<font size="3">To maximize IO capabilities of both NVMe disk devices, a single LVM PE stripe was created using 16MB PE size.  Details of LVM PE striping setup can be found <a href="https://community.intersystems.com/post/lvm-pe-striping-maximize-hyper-converged-storage-throughput">here</a> in another community article.</font>

### <big>InterSystems IRIS Installation and Setup</big>

<font size="3">InterSystems IRIS is installed in the single volume group and single logical volume.  In this case we wanted to demonstrate a very simple deployment without the complexity of having multiple volume groups and logical volumes.  In our example a single logical volume and file system was created (/data is our file system mount point in this example).</font>

<font size="3">A random read workload from within the database instance is used to generate the IO workload in a progressive number of jobs.  A 1TB database is the target of the IO workloads.  Details of the RANREAD tool used in this testing can be found <a href="https://community.intersystems.com/post/random-read-io-storage-performance-tool">here</a>.</font>

### <big>Testing Results</big>

<font size="3">Starting with only 10 jobs, the storage throughput was significant from the start at ~100K 8KB database reads per second at at very low latency of only 100 microseconds (</font>µs<font size="3">).  As the number of jobs increased latency remained consistently low until the server actually ran out of CPU capacity to drive the storage any harder.  The highest latency observed was only a mere 300</font>µs <font size="3">while sustaining over 850K 8KB database reads per second.  </font>

<font size="3">Figure-1 illustrates the predictable performance and sustained throughput for the configuration as tested with only two Samsung NVMe disk devices.  Even at the highest levels latency is still very low, and the test server actually ran out of CPU before maximizing throughput of the NVMe disk devices.</font>

<span style="color:#3498db;"><font size="3">Figure-1: Predictable ultra-low latency while sustaining massive throughput</font></span>

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7s56vqinjpm3mmjwo3jf.png)

## <big>Conclusion</big>

<font size="3">The Samsung PM1725a NVMe disk devices provide extremely low latency and high throughput capability to support a very high performance transactional system.  These are ideal for high ingestion workloads where storage latency and throughput are required.  Along with this impressive performance profile, these Samsung NVMe disk devices provides a very attractive price point and the same levels of application availability can be achieved when coupled with InterSystems' database mirroring.</font>