>> Try setting the zfs_scrub_delay to 1 but increase the >> zfs_top_maxinflight to something like 64. With the delay set to 1 or higher it doesn't matter what I set the maxinflight value to- when I check with:
echo "::walk spa | ::print spa_t spa_name spa_last_io spa_scrub_inflight" The value returned is only ever 0, 1 or 2. If I set the delay to zero, but drop the maxinflight to 8, then the read rate drops from 400MB/s to 125MB/s. If I drop it again to 4- then the read rate drops to a much more manageable 75MB/s. The delay seems to be useless on this array- but the maxinflight makes a big difference. At 16 my read rate is 300. At 32 it goes up to 380. Beyond 32 it doesn't seem to change much- it seems to level out at about 400 and 50k R/s: pool0 14.1T 25.3T 51.2K 4 402M 35.8K pool0 14.1T 25.3T 51.9K 3 407M 31.8K pool0 14.1T 25.3T 52.1K 0 409M 0 pool0 14.1T 25.3T 51.9K 2 407M 103K pool0 14.1T 25.3T 51.7K 3 406M 31.9K I'm going to leave it at 32 for the night- as that is a quiet time for us. In fact I will probably leave it at 32 all the time. Since our array is very quiet on the weekends I can start a scan on Friday night and be done long before Monday morning rolls around. For us that's actually much more useful than having the scrub throttled at all times, but taking a month to finish. Thanks for the suggestions. -Don _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss