[imp] Server setup for customer base of over 10,000

Magnus Nordseth magnun at stud.ntnu.no
Sat Sep 20 14:53:09 PDT 2003


Robert Sand:
> 
> We would like to have a number of web boxes in a round-robin dns pool so 
> that if a user goes to one url they will be evenly distributed to the 
> whole.  Like I said this did work for use until the upgrade to the 
> CVS/Head version of Horde/Imp. 

We are running imp 3.2.2 for > 20000 users, but i think our setup should work
equally well for head.

We use 4 webservers loadbalanced using lvs (www.linuxvirtualserver.org) for
the web frontend. Each realserver has a persistence of 10 minutes to
minimize the need for ssl key renegotiation. We use a seperate server
running mysql for storing sessions, preferences and attatchments. Each
webserver is healtchecked from the loadbalancer using keepalivedd
(keepalived.sf.net) ensuring that the webserver gets removed from the
connection pool if it stops working, and gets added when it comes back
up. This setup also makes it easey to do maintainance and test upgrades on
each server. 

The users mailboxes are distributed on 3 sun servers attatched to a
san. Each of them run imap. We run a imap-proxy on each webserver mapping
the username to the right fileserver (we run seperate imap proxies as well,
allowing users to use their favorite imap client). 

All servers are on gigabit ethernet. In peak hours the webservers have
a load of about 2 (they are dual p4 1.8 GHz with 2Gb ram).

Finally a note about dns round robin: Because of clients caching dns you
are not guaranteed an even distribution of load. Also, if you use ssl you
may run into problems caused by key renegotiation. 

-- 
Magnus Nordseth
IT Department
Norwegian university of science and technology


More information about the imp mailing list