Richard Pickett wrote:
<snip>
> Any ideas?
You haven't mentioned the details of your setup, but you'll see an 
immediate improvement in response times and reduction in load if you 
mount the volume/partition that the mail spools/mailboxes reside on 
using the "noatime" option.

You may also get a performance boost if you can store your existing 
mailboxes in multiple directories, hashed according to whatever 
algorithm you choose. That cuts the number of directories in one place, 
so can make directory searches less laggy. Exim can deliver to wherever 
you tell it - instead of

/var/spool/mail/$user

You could use

/var/spool/mail/$domain/$local_part

or

/var/spool/mail/${substr{0}{2}{$domain}}/$domain/$local_part

...or, or, or... the possibilities are almost endless *but* they do 
depend on the IMAP server you use and its' ability to access those 
mailboxes, either programatically via a similar config option or via a 
MySQL database. Courier has a number of different lookup methods, which 
can be shared with Exim, making the sort of system above all but trivial 
to implement.

In order to split mailboxes across multiple machines, use perdition:

http://www.vergenet.net/linux/perdition/

There's an admin overhead in keeping the map of email account to backend 
"postbox" server in sync with reality, but if you're managing 30000 
accounts then that overhead is tiny compared to dealing with the support 
load caused when your system is overloaded :)

Graeme

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to