<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 15, 2016 at 9:26 PM, Richard Yao <span dir="ltr"><<a href="mailto:ryao@gentoo.org" target="_blank">ryao@gentoo.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><span></span></div><div><span class=""><div></div><div><br></div></span><div><div><div><span style="background-color:rgba(255,255,255,0)">The first is to make sure that ZFS uses proper alignment on the device. According to what I learned via Google searches, the Intel DC P3600 supports both 512-byte sectors and 4096-byte sectors, but is low leveled formatted to 512-byte sectors by default. You could run fio to see how the random IO performance differs on 512-byte IOs at 512-byte formatting vs 4KB IOs at 4KB formatting, but I expect that you will find it performs best in the 4KB case like Intel's enterprise SATA SSDs do. If the 512-byte random IO performance was notable, Intel would have advertised it, but they did not do that:</span></div><div><span style="background-color:rgba(255,255,255,0)"><br></span></div><div><a href="http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/ssd-dc-p3600-spec.pdf" target="_blank">http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/ssd-dc-p3600-spec.pdf</a></div><div><a href="http://www.cadalyst.com/%5Blevel-1-with-primary-path%5D/how-configure-oracle-redo-intel-pcie-ssd-dc-p3700-23534" target="_blank">http://www.cadalyst.com/%5Blevel-1-with-primary-path%5D/how-configure-oracle-redo-intel-pcie-ssd-dc-p3700-23534</a></div><div><br></div></div></div></div></div></blockquote><div>So, I played around with this.  Intel's isdct tool will let you secure erase the P3600 and set it up as a 4k sector device, or a 512, with a few other options as well.  I have to re-look but it might support 8k sectors too.  Unfortunately the NVMe driver doesn't play well with the SSD formatted for anything other than 512 byte sectors.  I noted my findings in Illumos bug #6912.</div><div><br></div><div>I need to look at how Illumos partitions the devices if you just feed zpool the device rather than a partition, I didn't look to see if it was aligning things correctly or not on it's own.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div></div><div>The second is that it is possible to increase IOPS <span style="background-color:rgba(255,255,255,0)">beyond Intel's specifications by doing a secure erase, giving SLOG a tiny 4KB aligned partition and leaving the rest of the device unused. Intel's numbers are for steady state performance where almost every flash page is dirty. If you leave a significant number of pages clean (i.e. unused following a secure erase), the drive should perform better than what Intel claims by virtue of the internal book keeping and garbage collection having to do less</span><span style="background-color:rgba(255,255,255,0)">. </span><span style="background-color:rgba(255,255,255,0)">Anandtech has benchmarks numbers showing this effect on older consumer SSDs on Windows in a comparison with the Intel DC S3700:</span></div></div></blockquote><div><br></div><div>Using isdct I have mine set to 50% over-provisioning, so they show up as 200GB devices now.  As noted in bug 6912 you have to secure erase after changing that setting or the NVMe driver REALLY gets unhappy. </div><div><br></div><div>Josh C</div></div></div></div>