[imp] Looking for suggestions for load-balancing techniques/hardware...

David Lancaster dml at unb.ca
Thu Apr 3 16:21:42 PST 2003


Hi everyone,

I'm currently planning our implementation of Horde/IMP for use as our standard
Webmail client, and I was wondering if I could get some advice/opinions on
loadbalancing gear/techniques.

We currently have approximatly 15,000 mailboxes on our POP/IMAP server
(currently Cyrus, but Communigate RSN), the majority of which are students. Most
students (~75%) use our webmail service as their primary email client.
On our current webmail product (the EOL'ed Infinite Webmail), I normally see
1200-1700 concurrent users.

Since Webmail is such a high profile function and has to remain available 24/7,
the goal is to implement IMP in a scalable and reliable fashion. I'm currently
looking at using a pair of machines for scalability, and I am currently looking
at how to provide the reliability.
The goals are:
1. Minimize single-points-of-failure. [other than IMAP server, next project:)]
2a. Direct users to both machines if functioning, 
2b. and failover to single machine if other has failed.
3. Perform transparent failover of 2b

For part 1, I'm looking at using a MySql database on both servers, and doing
bi-directional replication. Seems to work so far in testing.

We're currently performing 2a/b in a quick'n'dirty fashion. Our webmail url
points to our IMAP server, where a perl script checks which server is up, and
sends the client on with a HTTP forward.
A more robust solution would be to at least check the loads on the servers, and
choose a server based on loading and capacity, etc. 

Part 3 would be really nice. I can think of two ways to perform this, a
Linux-virtual-server cluster, and a Hardware loadbalancer. IMP sessions and mail
attachments would have to be stored in the (replicated) database, but I think
it's do-able...

Assuming I've made sense this far, I'm wondering if anybody would have any
tips/stories/recommendations on performing the actual load-balancing.

F5's products seem to be fairly popular, but I haven't seen a price tag yet. 
Alteon and Foundry have also popped up as popular in my searching.
I'd be interested to know if anyone's had any experiences with those
products. 

I'd also be interested in anybody's experiences with Linux Virtual Server (LVS),
especially with regard to reliability and maintenance. If LVS is problematic,
having a spare LVS machine might be more costly than having a more reliable
hardware load balancer setup.

I appreciate any information and time that anyone can spare.

Cheers,
David Lancaster

-- 
ITS ESS
UNB 


More information about the imp mailing list