Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

Another question: is that MB/sec or MiB/sec? Note that the 400 MiB/sec benchmark is 420 MB/sec.

Not a _huge_ difference, but it is a difference ;)

The other major difference is anything non-sequential, especially things like 4K reads. This is where the PCIe->USB->SATA (or PCIe->USB->NVMe) adapter overhead really slows things down.

Try out my benchmark script and see how it fares: https://github.com/geerlingguy/raspberry-pi-dramble/blob/mas...

(Thank the marketers for making everything confusing with MiB and MB...)



Dunno, looks too complicated, and our results will not be comparable, because my block devices use LUKS encryption, and this doesn't measure raw block device access.

I wrote this quick benchmark tool, maybe try it. It does test raw block device 4k random reads via random batches of 128 reads submitted via io_uring:

  https://megous.com/dl/tmp/t.c
  (reduce ROUNDS to 5 or 10 if you test something non-SSD)

  gcc -o t t.c -luring
  ./t /dev/sda
On my workstation:

- My HDDs show 4k read iops in the range of: 126-139

- My samsung 980 pro nvme hovers around 160-180 kIOPS

- Samsung 840 PRO SATA : 95 kIOPS

- Samsung 860 EVO SATA : 90 kIOPS

On my Orange Pi 3:

- USB 3.0 attached intel SSD : 4k IOPS = 15393

- USB 3.0 attached samsung 850 EVO : 4k IOPS = 43154

- Sandisk ultra A1 uSD card 09/2018 model: 4k IOPS = 2228

- Sandisk ultra A1 uSD card 10/2019 model: 4k IOPS = 2512 (they are improving over time :))

So that's about 60MiB/s and 168MiB/s random 4k reads over USB 3.0. (controller supports UAS)

Is it hitting the SSD or interface limit? Dunno. I don't have the exact same samsung ssd model connected via SATA anywhere. But it's much more than the values in the article, so the values in the article are certainly not the USB 3.0 interface limits for 4k random reads.

dd is outputing non-SI units in this case, so it was around 392MiB/s




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: