Question Am I benching this NVMe wrong?

ambikealee

Junior Member
Jun 2, 2020
3
0
6
I'm seeing low numbers vs AnandTech's review of the 512GB Samsung 950 Pro (https://www.anandtech.com/show/9702/samsung-950-pro-ssd-review-256gb-512gb). But I've never properly benchmarked a drive before, plus my test rig is bit lower tier than the reviewer's (though same generation). I'm either:
1. doing the test wrong
2. reading the test results wrong
3. was scammed on eBay

I'm using Earle Philhower's "ezFIO" wrapper for regular ol' FIO (https://github.com/earlephilhower/ezfio) on a Dell Optiplex 9020 running a Debian Linux distro.
I understand AnandTech uses FIO for benchmarking (see https://forums.anandtech.com/threads/how-best-to-benchmark-test-nvme-in-linux.2577474/) but I opted for ezFIO over learning to roll my own jobfile or whatever. I'd think they're comparable but I'm seeing, for example, a max. ~1500MB/s sequential read versus the review's 2500 MB/s.

Is my hardware insufficient and limiting it that badly or have I misread the results? Covering the basics, the boot and OS are on a separate SSD connected via SATA while the Samsung 950 Pro is in a PCIe adapter card plugged into the only PCIe Gen3 slot, which is 16x while the adapter is, I believe, 4x given the short length (doesn't seem to prevent it working). The 950 Pro had no partition table and I set it up using gparted with one ext4 filesystem taking all the space.

My hardware vs. AnandTech's 2015 SSD test rig is:
CPU — i5-4570@3.2GHz vs. i7-4770K@3.5GHz
Chipset — Intel Q87 vs. Intel Z97
Memory — 2x4GB + 2x2GB DDR3-1333 vs. 2x8GB DDR3-1866

I've taken a screenshot of ezFIO's output but basically it's all less than expected. This is all new to me, so any help is appreciated.
 

Attachments

  • 20200602__123338.jpg
    20200602__123338.jpg
    1.9 MB · Views: 17

aigomorla

CPU, Cases&Cooling Mod PC Gaming Mod Elite Member
Super Moderator
Sep 28, 2005
20,841
3,189
126
Possibly due to you running the NVME though pci2.0 and not 3 as they were designed for.
The Z97 is a pcie 2.0. Some did not even come with a nVME slot, as it was something more introduced on on the 170, although the 97 later revisions did have that slot.

Also it could be the adapter you are running the nVME in.

Lastly it could be the Specter/Meltdown patchs your linux distro has which crippled nVME performance.
 

Billy Tallis

Senior member
Aug 4, 2015
293
146
116
The 950 PRO review was back when our synthetic benchmarks were still IOmeter running on Windows rather than FIO on Linux, so don't expect everything to be directly comparable. You can pull up more recent results for the 950 PRO from Bench: https://www.anandtech.com/bench/product/1918 and https://www.anandtech.com/bench/SSD18/2447

Without digging through my test logs for the 950 PRO, my initial suspicion is that it's one of the drives where sequential throughput testing at QD1 with large block sizes produces markedly different results from testing with moderate block sizes (eg. 128kB) and higher queue depths. Generally speaking, increasing queue depth should do a better job of keeping the drive busy than increasing block sizes, and there won't be idle periods resulting from the latency of completing one command and submitting the next.
 

ambikealee

Junior Member
Jun 2, 2020
3
0
6
Possibly due to you running the NVME though pci2.0 and not 3 as they were designed for.
The Z97 is a pcie 2.0. Some did not even come with a nVME slot, as it was something more introduced on on the 170, although the 97 later revisions did have that slot.

Also it could be the adapter you are running the nVME in.

Lastly it could be the Specter/Meltdown patchs your linux distro has which crippled nVME performance.

Hey, thanks for the reply! I am afraid you must have missed where I said the adapter was plugged into "the only PCIe Gen3 slot" on the mobo, i.e. PCI 3.0. So I don't think that's it.

I'm not certain if you think my rig has the Z97, but that was AnandTech's not mine. Not being versed on chipsets, I'm assuming the Q87 I have is lower tier than a Z97, and so it'd be weird if it has later gen PCI support than the Z97. All I know is the Dell documentation says it's a PCI 3.0 x16 slot in mine.

Specter & Meltdown definitely appeared after the review, so that's a pretty viable theory.
 
Last edited:

ambikealee

Junior Member
Jun 2, 2020
3
0
6
The 950 PRO review was back when our synthetic benchmarks were still IOmeter running on Windows rather than FIO on Linux, so don't expect everything to be directly comparable. You can pull up more recent results for the 950 PRO from Bench: https://www.anandtech.com/bench/product/1918 and https://www.anandtech.com/bench/SSD18/2447

Without digging through my test logs for the 950 PRO, my initial suspicion is that it's one of the drives where sequential throughput testing at QD1 with large block sizes produces markedly different results from testing with moderate block sizes (eg. 128kB) and higher queue depths. Generally speaking, increasing queue depth should do a better job of keeping the drive busy than increasing block sizes, and there won't be idle periods resulting from the latency of completing one command and submitting the next.

Thanks for the official word! There's a lot to get one's head around with SSD performance, as Linus Tech Tips said recently in possibly their most Canadian video.

My goal is mostly to make sure this is a legit 950. In this economy I'm not ashamed of only being able to afford eBay prices, but you'll get fleeced if you trust without verifying.

The hard part is, it looks like I'll have to grok what CLI commands to tell FIO to run each of those tests when I have only the vaguest sense of the significance of burst vs sustained and sequential vs random, queue depths, and what problems you run into with different block sizes... It's quite a learning curve to conquer before I hit the 30-day limit on returns.
 

UsandThem

Elite Member
May 4, 2000
16,068
7,380
146
Hey, thanks for the reply! I am afraid you must have missed where I said the adapter was plugged into "the only PCIe Gen3 slot" on the mobo, i.e. PCI 3.0. So I don't think that's it.

I'm not certain if you think my rig has the Z97, but that was AnandTech's not mine. Not being versed on chipsets, I'm assuming the Q87 I have is lower tier than a Z97, and so it'd be weird if it has later gen PCI support than the Z97. All I know is the Dell documentation says it's a PCI 3.0 x16 slot in mine.

Specter & Meltdown definitely appeared after the review, so that's a pretty viable theory.
Q87 shows that it was PCIe 2.0, so maybe Dell made a mistake on the version it supported:

https://ark.intel.com/content/www/us/en/ark/products/75007/intel-q87-chipset.html

88.jpg
 

Billy Tallis

Senior member
Aug 4, 2015
293
146
116
Q87 shows that it was PCIe 2.0, so maybe Dell made a mistake on the version it supported:

Intel chipsets didn't support PCIe 3.0 until the Skylake generation (100 series chipsets), but Ivy Bridge and Haswell CPUs (and Sandy Bridge-E) support PCIe 3.0 on the PCIe lanes that connect directly to the CPU rather than going through the chipset. So it's very much possible to use PCIe 3.0 speeds on motherboards with 7/8/9-series chipsets. Only the Z and X series chipsets officially supported splitting 16 lanes across multiple slots (x8+x8 or x8+x4+x4) while the H, Q and B series chipsets artificially limited motherboards to a single 3.0 x16 slot.