Hi Adam,
Your issue probably has something to do with NFS (use TCP), but it's also likely that the problem has a lot to do with Courier, as I've always noticed that courier runs more slowly than qmail when accessing maildirs. Make sure that you are running courier with IMAP_CAPABILITY THREAD=ORDEREDSUBJECT THREAD=REFERENCES... of course this depends on whether the client is sorting or not, but it's best to have IMAP handle this for performance reasons.
BTW, are you using Gig-E?
Is minra on? (maildirs are often very random in terms of I/O)
You may also consider using an IMAP proxy as well if your clients don't support persistent connections (webmail clients.)
Regards, Max
Does anyone have any tips for tuning a netapp (and/or clients) for nfs access to Maildir email folders? I know people do it, and potentially the load on the server(s) could be less than mbox because you arent shovelling around huge files, but it seems like the netapp is a little slow with opening a larger number of files for reading one by one. By large I mean over a few thousand (three to 130 thousand I have tested with) and slow I mean between 200 and 500 headers read per second from nfs. It is only slow if the filer does not have it cached already, because followup folder opens get several thousand headers per second throughput, similar to mbox. I have not tried other nfs servers, but I have attempted to simulate the load from courier-imapd or dovecot using a shell script to read 2 dozen lines from each of several thousand mail files, and the delay seems to be the netapp. Additionally, if if is a fresh folder open (not cached anywhere), the first 2,000 or so message headers load quickly, it slows down to between 200-500/sec for the next few thousand, and if you let it get above several tens of thousands, it continues to slow even more, down to less than 100 headers per second.
I am somewhat dissapointed that the NOW forums and documentation is pretty much devoid of any mention of Maildir, let alone tuning for it.
I have a FAS940, not heavily loaded, and the clients for this are a small cluster of Dell Poweredge 2650 dual 2ghz xeons, running in pre-production environments of either Debian Linux or FreeBSD 6.x. The filer is running 7.0.3, and the files are stored in a flexvol in an aggregate spanning 3 DS14's full of disks (28x36, 14x72).