Why we dont use Samsung NVME Pro SSDs anymore

  |   Uncategorized   |   No comment

When it comes to buying an NVME SSD for a software developer workstation, you are faced with a choice: buy one cheap or buy one expensive. So far, I’ve chosen the more expensive ones because they promised better performance and longer life – I can now see how wrong I was.

It all started when one employee said his NVME SSD was slower than his Sata SSD. This can’t be true, as the Sata SSD is limited to 600MB/s and 3 years old, while his new NVME SSD is supposed to read and write 3000MB/s. And yet it is true. I have done some dirty benchmarks and the results are impressive. I call the benchmark dirty because clearly different PCs are used; different CPUs, sightly different operating system versions, different MySQL versions and configurations. But the differences in the results cannot be explained my that in my opinion. There is something wrong with the Samsung NVME SSDs.

User SSD Note Allocation TPS QPS
Markus Curical CT1000P1SSD8 1,00 % 304 6091
Robert Curical CT1000P1SSD8 4,00 % 412 8241
Reiner Samsung SSD 970 PRO 512GB 66,00 % 160 3214
Markus Samsung SSD 970 PRO 512GB 14,00 % 120 2414
Bernd Samsung SSD 970 PRO 512GB crypt 80,00 % 148 2976
Daniel Samsung SSD 960 PRO 512GB crypt 46,00 % 30 614
Reiner Samsung SSD 850 PRO 128GB sata 37,00 % 120 2437
Daniel Samsung SSD 860 PRO 512GB SATA 87,00 % 185 3700
Marcel Patriot Scorch M2 256GB 1,00 % 120 2440

As you can see, the Curical P1 SSD is 2x, partially 3x faster than the Samsung Pro SSDs – even though the Curical costs only a third. You can also see that the 860 Pro Sata SSD from Daniel is faster than all Samsung NVME Pro SSDs. If you look for the phenomena on google, you will find other people who have observed the same problem. The Samsung PRO NVME SSDs seem to have a problem with frequent fsync calls.I have used sysbench 1.0.18 with the oltp_read_write benchmark on all machines. They all use BTRFS as filesystem and the MySQL filesystem was mounted with nodatacow, which improves performance. In the table, TPS stands for transactions per second and QPS for queries per second – both values were read from the sysbench statistics.

Since our database performance is very important to our software developers, I will avoid the Samsung pro NVME SSDs in the future and give other manufacturers a chance. The SSD is still fine for Gaming, Movie editing and stuff, just not for requent fsyncs.

Bonus: i have tested a Patriot Scorch M2 SSD. Performance-wise, this 41€ SSD is on par with the 144€ 970 PRO on the test benchmark.

sysbench commands used:

sysbench oltp_read_write –table-size=2500000 –mysql-user=root –db-driver=mysql –mysql-password=  prepare
sysbench oltp_read_write –table-size=2500000 –mysql-user=root –db-driver=mysql –mysql-password=  –time=120 run

No Comments

Sorry, the comment form is closed at this time.