ZFS resilvering strangles IO

Artem Belevich art at freebsd.org
Tue May 8 22:06:28 UTC 2012


On Tue, May 8, 2012 at 2:33 PM, Freddie Cash <fjwcash at gmail.com> wrote:
> On Tue, May 8, 2012 at 2:31 PM, Bob Friesenhahn
> <bfriesen at simple.dallas.tx.us> wrote:
>> On Tue, 8 May 2012, Michael Gmelin wrote:
>>>
>>> Do you think it would make sense to try to play with zfs_resilver_delay
>>> directly in the ZFS kernel module?
>>
>> This may be the wrong approach if the issue is really that there are too
>> many I/Os queued for the device.  Finding a tunable which reduces the
>> maximum number of I/Os queued for a disk device may help reduce write
>> latencies by limiting the backlog.
>>
>> On my Solaris 10 system, I accomplished this via a tunable in /etc/system:
>> set zfs:zfs_vdev_max_pending = 5
>>
>> What is the equivalent for FreeBSD?
>
> Setting vfs.zfs.vdev_max_pending="4" in /boot/loader.conf (or whatever
> value you want).  The default is 10.

You may also want to look at vfs.zfs.scrub_limit sysctl. According to
description it's "Maximum scrub/resilver I/O queue" which sounds like
something that may help in this case.

--Artem


More information about the freebsd-fs mailing list