[zfs-discuss] large pool vs multiple pools

Marcus Sorensen shadowsor at gmail.com
Sun Apr 1 15:27:31 EDT 2012

I'm not entirely sure I understand how the zfs pool does its stuff.
This isn't specific to zfs on linux, just zfs in general. If I
understand correctly, there are up to 3 transaction groups in flight
at any given time (per pool), and only one can be syncing. Transaction
groups are written in full stripes as well, correct?  So if I have a
file server with say 100 spindles, and 1000 clients doing small random
writes, and I intend to run these spindles as 50 mirrors, is it best
to split them into multiple pools so that we can have multiple
transaction groups syncing at any given time, or is it better to have
one big pool that will sync faster? We'll likely be using zvols as
well, and it doesn't seem like tons of small writes will stripe well
across 50 mirrors ( if that's in fact what it does rather than
choosing only a subset of spindles to write to). I don't necessarily
care about performance isolation between clients that multiple zpools
would likely give, just the best net throughput given a small random
iops workload.

More information about the zfs-discuss mailing list