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?

  • What about your dovecot options? – NickW Feb 12 '14 at 14:12
  • Added dovecot options, thank you in advance for the interest – Andrea Feb 12 '14 at 14:26
  • Are you using local indexes or ones on the mailstore? – NickW Feb 12 '14 at 14:51
  • Indexes are on the mailstore (nfs) – Andrea Feb 12 '14 at 14:54
  • What sort of load balancing are you doing front of the cluster? – NickW Feb 12 '14 at 14:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.