Improvements on ZFS’ scrub speed in r339034
r339034 introduced some improvement in stable/11
when ZFS performs scans, e.g. scrubbing.
Here’s the stats before running a new scrub:
pool: zroot state: ONLINE scan: scrub repaired 0 in 0 days 00:05:35 with 0 errors on Tue Oct 2 03:06:55 2018 config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 gpt/zroot0 ONLINE 0 0 0 gpt/zroot1 ONLINE 0 0 0 gpt/zroot2 ONLINE 0 0 0 errors: No known data errors
Here’s the stats shortly after issuing the new scrub:
pool: zroot state: ONLINE scan: scrub in progress since Wed Oct 3 12:32:04 2018 1.72G scanned at 883M/s, 0 issued at 0/s, 23.0G total 0 repaired, 0.00% done, no estimated completion time config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 gpt/zroot0 ONLINE 0 0 0 gpt/zroot1 ONLINE 0 0 0 gpt/zroot2 ONLINE 0 0 0 errors: No known data errors
Here’s the stats shortly before finishing:
pool: zroot state: ONLINE scan: scrub in progress since Wed Oct 3 12:32:04 2018 23.0G scanned at 277M/s, 22.7G issued at 274M/s, 23.0G total 0 repaired, 98.82% done, 0 days 00:00:01 to go config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 gpt/zroot0 ONLINE 0 0 0 gpt/zroot1 ONLINE 0 0 0 gpt/zroot2 ONLINE 0 0 0 errors: No known data errors
Here’s the final stats:
pool: zroot state: ONLINE scan: scrub repaired 0 in 0 days 00:01:26 with 0 errors on Wed Oct 3 12:33:30 2018 config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 gpt/zroot0 ONLINE 0 0 0 gpt/zroot1 ONLINE 0 0 0 gpt/zroot2 ONLINE 0 0 0 errors: No known data errors
5 minutes and 35 seconds ± 1 second vs. 1 minute and 26 seconds ± 1 second. That’s an improvement of 4 minutes and 9 seconds ± 2 seconds. The ratio being 335/86 ≈ 3.89534883721. The amount of data stored didn’t change much between these two runs.