I'm getting a chance to play around with my first NVMe device. I realize these are likely out of scope for most of us in our home use. We got a Lenovo x3650 M5 in house with 2 x
Intel P3700 drives in the front bay attached to a PCIe x8 card with two ports on it giving each drive x4 lanes. I ran a few basic benchmarks using fio under CentOS 6.7 as block devices with no filesystem ontop to compare the Intel P3700 against the Lenovo drive which I believe is a Sandisk SDLKOCDM-800GL (
Optimus Ascend SSD). Both are 800GB in size. The latency improvements of the NVMe are quite a lot better and I haven't even looked into tuning the OS yet.
P3700 NVMe
-------------------------------------------
64k sustained write
ioengine=libaio
direct=1
sync=0
iodepth=8
28K io/ps
1758MB/sec
await 0.5 ms
Note: There was little to no change with iodepth of 16 or 128kb size.
4k rand write
ioengine=libaio
direct=1
sync=0
iodepth=8
209K io/ps
780 MB/s
await 0.01 ms
Sandisk SSD
-------------------------------------------
64k sustained write
ioengine=libaio
direct=1
sync=0
iodepth=8
7650 io/ps
477MB/sec
await 1.01 ms
4k rand write
ioengine=libaio
direct=1
sync=0
iodepth=8
40K io/ps
154 MB/s
await 0.19 ms