Scrubbing method, really good performance, confused as to why
So I ran my first scrub job the other day and was seeing my disks hitting close to 2000 IOPS. These are consumer grade, WD Blue's, 7200 RPM disks backing the pool, so 2000 IOPS is like 5 times what I would expect to see from the disks. I figured a possible cause would be that scrub jobs are done using sequential reads, and since apparently my pool was 100% healthy there was no need to write. Been looking around for an explanation but not finding anything really.
Usually I see people complaining about the performance of scrubs, but opposite for me I guess.
Posted Jul 24, 2015, 1:32 AM UTC
Scrubs are chronological as they walk through the block tree.
64KB blocks at 2k IOPS = 128MB/s.
If you haven't changed your data much (or at all) and it's all large files, it's doable.
That's interesting, thank you for the information. It is indeed all large files that get written once and read (Plex server) so very little change, except when I do a binge download. I used to have a virtual machine storage pool, but I nuked that a long time ago due to stability issues, so there isn't really any high traffic data sitting on my array.
Although thinking about it, you didn't mention which OS.
FreeNAS max block size is 128KB. What's your actual scrub speed in MB/s?
Written once and never changed is what allows for high speed scrubbing.
Oh, right I'm using FreeBSD, and if I'm calculating right it looks like around 888, but I'm pretty sure that's Mbps, so more like around 100-125 MB/s. I guess technicallythe SATA connections can handle 3GB/s, but the IOPS there would mean all the data would have to be read from cache.
You should see the scrub throughput when running 'zpool status <pool>'. What does your pool layout look like (# of disks and vdev types)? It's hard to judge what scrub throughput you should be seeing without knowing the pool makeup.
Also, note that SATAII is 3 Gigabit, not Gigabyte, per port. This shouldn't be a bottleneck with spinning disks unless you have expander backplanes where one SATA port is serving multiple disks.