Reducing ZFS blocksize to improve Cyrus write performance ?

Gary Mills mills at cc.umanitoba.ca
Tue Aug 10 10:06:40 EDT 2010


On Mon, Aug 09, 2010 at 09:03:44PM +0200, Pascal Gienger wrote:
> Am 09.08.10 19:46, schrieb Vincent Fox:
> > * Turn off ZFS cache flushing
> > set zfs:zfs_nocacheflush = 1
> 
> For hardware (fiberchannel, iSCSI, SSA, ...) arrays with their own Cache 
> this is a must.

Only if the SAN device handles cache flush requests incorrectly.
It should consider a write to battery-backed memory as a write to
permanent storage, and manage its own writes to disk from there.

> > * Increase DNLC (Directory Name Lookup Cache)
> > set ncsize = 500000
> 
> vmstat -s | grep 'total name lookups'
> 135562914356 total name lookups (cache hits 96%)
> 
> :-)
> Unless the percent ratio is not below 90% increasing the DNLC is not so 
> useful.

According to:

    http://docs.sun.com/app/docs/doc/817-0404/chapter2-35?a=view

the proper statistics to determine if the cache is too small are
provided by `kstat -n dnlcstats'.  Beware also that the cache will
always overflow during backups because they typically read all of
the directories once, running the cache.  It's the cache activity
during normal IMAP access that's important.

-- 
-Gary Mills-        -Unix Group-        -Computer and Network Services-


More information about the Info-cyrus mailing list