I admin a mail server cluster: there're two different hosts that use a common NFS share to store maildir. Dovecot is the LDA.
CPU load on NFS is really high, although real i/o operation on the disk layer is very low.
nfsstat reports that more than 50% of query are getattr, i suspect that these queries are killing my server.
At the moment the mount options are as follow:
Dovecot storage options are as follow:
mmap_disable = yes dotlock_use_excl = no mail_fsync = always mail_nfs_storage = yes mail_nfs_index = yes
From what i've read the noac option disables the caching of attributes, leading to massive queries to the NFS server. I was thinking about enabling attribute caching but looking for infos i've found this:
getattr > 40%: The client attribute cache can be increased by setting the actimeo mount option. Note that this is not appropriate where the attributes change frequently, such as on a mail spool. In these cases, mount the filesystems with the noac option.
The problem arises here. I'm hosting a mail spool on NFS. But since ac only caches attributes and i'm using a maildir structure (opposed to mbox, which i'm certain should cause problems with ac) maybe it won't be an issue.
I'm asking for advice about this thing: is it safe to enable attribute caching on NFS serving maildir boxes to two different dovecot server?