Testing zpool IO performance

Papid1975

Dabbler
Joined
Jun 29, 2020
Messages
40
To test the write speed of a 2.5 inch SATA3 spinning hard drive (some old Seagate one) I used dd if=/dev/zero of=/mnt/pool/test.dd bs=1024 count=1m (found this in several forums and posts across the Internet). This gives me speeds of 300 to 350 Megabytes per second. How can this little aged drive be so fast? Is there a caching mechanism involved?

Using the same technique I tested the write speed of a SATA3-adapted Apple PCIe-SSD. I got the same speed results of 300 to 350 Megabytes per second. In this case it seems a bit slow (I’d expect results around 500 Megabytes per second). Here my best guess is the adapter limiting the speed.

Then I used this dd command to write onto my NVME SSD getting the same speeds of 300 to 350 Megabytes per second again.

Lastly I tested a RAM disk and finally got a different speed of about 750 Megabytes per second. But 750 MB/s write speed to a RAM disk? Doesn’t sound right.

I’d say the dd testing method is inadequate. Is there a better method to test the IO speed of pools?
 
Last edited:

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703

Papid1975

Dabbler
Joined
Jun 29, 2020
Messages
40
Thank you!

I looked into fio’s options and tried to mimic CrystalDiskMark’s sequential speed test:

Code:
fio --name=test --size=5g --rw=write --ioengine=posixaio --direct=1 --bs=1m


With this I am getting ridiculous read speeds of around 5500 MB/s for all pools. Same caching/compression problems? What options should I use?
 
Top