Re: [Exim] Doing it the larger way...some thoughts

Top Page
Delete this message
Reply to this message
Author: Jochen Topf
Date:  
To: exim-users
Subject: Re: [Exim] Doing it the larger way...some thoughts
Sascha E. Pollok <sp@???> wrote:
> Imagine there is a location with only one machine (Linux, PIII 650 with
> 256 MB Ram) handling some thousand users mailboxes with POP3. It is
> used for POP3 and SMTP.


It depends on how much users you are thinking about. You might have to put
more RAM into the machine, but it should be able to handle several 10.000
mailboxes. I wouldn't start thinking about several servers below about 50.000
users. The important thing is not get rid of all bottlenbecks. For most
out-of-the-box setups this is the huge /etc/passwd file and /var/spool/mail
directory. Get the users out of /etc/passwd and into a Berkeley DB file and
split up /var/spool/mail. This gives you a hugh performance boost.

> In case the machine gets too slow we could get a bigger and faster
> server but that's not the solution for scaling larger environments.
> What about several machines (e.g. 5) handling POP3/SMTP for
> users (internal usernumbers like 00000001, doesn't matter).
> No user would ever talk to them directly.


> Additionally there are some "proxy" POP3-Servers in front of them
> that get the queries from the customer's mailclients. The POP3-Proxy
> looks the given User-ID up in a database and gets the information
> which internal POP3-Server and with what User-ID is in charge
> of that user's account. The POP3-Proxy connects to the internal
> machine, logs in with the internal ID and then we just forward
> the commands through the "proxy".


> For incoming mail there would be several inbound mailservers
> that look in a database to see to which POP3-server and to which
> User-ID the mail has to be redirected.


> What do you people that are more experienced in large scaled
> mail-systems think of that? In case there are not too much good
> arguments against this, I'd like to get vi and gcc ready to start
> writing the Pop3-"Proxy" :-)


This is a good idea, in fact several people including me, are using such
a setup. I have set up several large mail systems like this and it works
very well.

There is no need to write your own proxy server. There are several around.
A list (including my own :-) is on my web page at
http://www.remote.org/jochen/mail/index.html

Also on this web page are links to lots of papers and other documentation
about large mail systems. I have written an article about a mail system that
is set up along those lines for the German iX magazine, but that wont help
you much, if you can't read German.

Jochen
--
Jochen Topf - jochen@??? - http://www.remote.org/jochen/