On Mon, Aug 01, 2011 at 03:10:28PM -0700, Richard Elling wrote: > On Aug 1, 2011, at 2:16 PM, Neil Perrin wrote: > > > In general the blogs conclusion is correct . When file systems get full > > there is > > fragmentation (happens to all file systems) and for ZFS the pool uses gang > > blocks of smaller blocks when there are insufficient large blocks. > > However, the ZIL never allocates or uses gang blocks. It directly allocates > > blocks (outside of the zio pipeline) using zio_alloc_zil() -> > > metaslab_alloc(). > > Gang blocks are only used by the main pool when the pool transaction > > group (txg) commit occurs. Solutions to the problem include: > > - add a separate intent log > > Yes, I thought that it was odd that someone who is familiar with Oracle > databases, > and their redo logs, didn't use separate intent logs. > > > - add more top level devices (hopefully replicated) > > - delete unused files/snapshots etc with in the poll? > > If gang activity is the root cause of the performance, then they must be at > the > edge of effective space utilization. > -- richard
The other thing that can cause a storm of tiny IOs is dedup, and this effect can last long after space has been freed and/or dedup turned off, until all the blocks corresponding to DDT entries are rewritten. I wonder if this was involved here. -- Dan.
pgpVl1bQEtQ1C.pgp
Description: PGP signature
_______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss