HomeFreeBSD

Increase default zfs_scan_vdev_limit to 16MB

Description

Increase default zfs_scan_vdev_limit to 16MB

For HDD based pools the default zfs_scan_vdev_limit of 4M
per-vdev can significantly limit the maximum scrub performance.
Increasing the default to 16M can double the scrub speed from
80 MB/s per disk to 160 MB/s per disk.

This does increase the memory footprint during scrub/resilver
but given the performance win this is a reasonable trade off.
Memory usage is capped at 1/4 of arc_c_max. Note that number
of outstanding I/Os has not changed and is still limited by
zfs_vdev_scrub_max_active.

Reviewed-by: Akash B <akash-b@hpe.com>
Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #14428

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Jan 24 2023, 10:05 PM
Parents
rG9fe3da9364fe: Improve resilver ETAs
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rGfa28e26e4211: Increase default zfs_scan_vdev_limit to 16MB (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Apr 24 2023, 7:55 PM