This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
To: <modperl@apache.org> From: "Hemant Singh" <hsingh@ggn.aithent.com> Subject: load balancing on apache Date: Fri, 14 Dec 2001 14:21:10 +0530 I am planning to host an application and its size is going to be big one, so I expect the concurrent number of connections to be around 2200. To combat the same, I want to perform load sharing on 3-4 servers. So the idea is to put one machine on external IP and this machine, after receiving the requests would forward them to any of the other three machines having the application deployed and running on the same environment. Please suggest how can I achieve this on apache. === To: "Hemant Singh" <hsingh@ggn.aithent.com>, <modperl@apache.org> From: john8hoffman127@msn.com Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 01:31:38 -0600 A round-robin dns server would be easiest. There's no true load balancing === To: <modperl@apache.org> From: Mark Fowler <mark@twoshortplanks.com> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 09:02:42 +0000 (GMT) On Fri, 14 Dec 2001, Hemant Singh wrote: > Pls suggest how can i achieve this on apache. mod_backhand may be able to help you out here with proper "pass it on" type load balancing. If you use it with wackamole you might not even need the front machine. http://www.backhand.org/ Haven't used it myself, but people I know say good things about their experiences with it. === To: "Hemant Singh" <hsingh@ggn.aithent.com> From: Dave Hodgkinson <daveh@davehodgkinson.com> Subject: Re: load balancing on apache Date: 14 Dec 2001 09:23:20 +0000 "Hemant Singh" <hsingh@ggn.aithent.com> writes: > I am planning to host an application and its size is going to be big one , so > expect the concurrent number of connection s to be around 2200.To combat the > same , want to perform load sharing on 3-4 servers.So the ide is to put one > machine on external IP and this machine , after receiving the requests would > forward them to any of the other three machines having the application > deployed and running on the same environment.Pls suggest how can i achieve > this on apache. Depends how much session persistence you're keeping on the middle tier. You can do things smarter than pure round robin with a few mod_rewrite rules on the front. === To: modperl@apache.org From: Steven Lembark <lembark@wrkhors.com> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 03:15:30 -0600 Hemant Singh <hsingh@ggn.aithent.com> wrote: > I am planning to host an application and its size is going to be big one > , so expect the concurrent number of connection s to be around 2200.To > combat the same , want to perform load sharing on 3-4 servers.So the ide > is to put one machine on external IP and this machine , after receiving > the requests would forward them to any of the other three machines having > the application deployed and running on the same environment.Pls suggest > how can i achieve this on apache. Randal Schwartz had a good article on this about a year ago. You can use the re-write phase to balance the load w/in Apache if you want to. Alternatives include round- robin DNS and separate load balancing software. === To: modperl@apache.org From: Igor Sysoev <is@rambler-co.ru> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 18:25:23 +0300 (MSK) On Fri, 14 Dec 2001, Steven Lembark wrote: > -- Hemant Singh <hsingh@ggn.aithent.com> > > > I am planning to host an application and its size is going to be big one > > , so expect the concurrent number of connection s to be around 2200.To > > combat the same , want to perform load sharing on 3-4 servers.So the ide > > is to put one machine on external IP and this machine , after receiving > > the requests would forward them to any of the other three machines having > > the application deployed and running on the same environment.Pls suggest > > how can i achieve this on apache. > > Randal Schwartz had a good article on this about a year > ago. You can use the re-write phase to balance the load > w/in Apache if you want to. Alternatives include round- > robin DNS and separate load balancing software. I don't think that frontend mod_perl can handle 2200 concurrent connections. The plain Apache with mod_proxy/mod_accel can handle them with about 1.5G memory. Igor Sysoev === To: "Hemant Singh" <hsingh@ggn.aithent.com>, <modperl@apache.org> From: "Perrin Harkins" <perrin@elem.com> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 10:29:47 -0500 > I am planning to host an application and its size is going to be big one , > so expect the concurrent number of connection s to be around 2200. > To combat the same , want to perform load sharing on 3-4 servers. If you really expect 2200 concurrent connections, you should buy dedicated load-balancing hardware like Big/IP or Cisco LocalDirector. === To: "Hemant Singh" <hsingh@ggn.aithent.com>,<modperl@apache.org> From: <fred@igtech.fr> Subject: RE: load balancing on apache Date: Fri, 14 Dec 2001 16:49:13 +0100 With this amount of connections, you may want to check LVS at http://www.linuxvirtualserver.com or Ultra Monkey et http://ultramonkey.sourceforge.net/ (althought i never used the last one, I think it might be easier to use). This is open, efficient and reliable load balancing and high availability software. Using it, you just have to install several (common) apache server running your application, and tell the load-balancer to forward to one of the real servers. Nothing special to install exept an NFS or Coda service to share your Web sites. === To: "Hemant Singh" <hsingh@ggn.aithent.com>, <modperl@apache.org> From: "Derek Jones" <scunacc@yahoo.com> Subject: RE: load balancing on apache Date: Fri, 14 Dec 2001 08:59:42 -0500 You can do load balancing using ipchains as well. Can't remember the program name offhand, but if I have time I'll look it up and let the list know. Only works if your servers are Linux of course. === To: <scunacc@yahoo.com>, "Hemant Singh" <hsingh@ggn.aithent.com>, From: <fred@igtech.fr> Subject: RE: load balancing on apache Date: Fri, 14 Dec 2001 17:11:40 +0100 Well, Linux Virtual Server is using ipchains (on the load balancer), and you can use any kind of OS on your real servers (those running your application), since it's only TCP/IP routing and/or forwarding. === To: "Perrin Harkins" <perrin@elem.com> From: Dave Hodgkinson <daveh@davehodgkinson.com> Subject: Re: load balancing on apache Date: 14 Dec 2001 16:34:09 +0000 "Perrin Harkins" <perrin@elem.com> writes: > > I am planning to host an application and its size is going to be big one , > > so expect the concurrent number of connection s to be around 2200. > > To combat the same , want to perform load sharing on 3-4 servers. > > If you really expect 2200 concurrent connections, you should buy dedicated > load-balancing hardware like Big/IP or Cisco LocalDirector. Aside from the fact I _really_ wouldn't expect that manny actual, live TCP connections at one time...that many users, maybe... I _really_ hate so-called dedicated boxes. They're closed, nasty, inflexible and often don't work in _your_ situation. Doing smart session-based redirection can be hard with these boxes. === To: Perrin Harkins <perrin@elem.com> From: Nick Tonkin <nick@rlnt.net> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 08:24:00 -0800 (PST) You should also check out Coyote Point's Equalizer ... this a hardware/software solution that worked well for ValueClick up to about 70 million requests per day. It's basically a FreeBSD box with a custom dynamic natd ... supports hot-swap redundancy with two of 'em installed ... and a _lot_ cheaper than LocalDirector and others (although we did move to a high-end Foundry Server Iron system eventually) ... good support from a small company too. === To: <fred@igtech.fr>, "Hemant Singh" <hsingh@ggn.aithent.com>, From: "Derek Jones" <scunacc@yahoo.com> Subject: RE: load balancing on apache Date: Fri, 14 Dec 2001 09:30:56 -0500 > Well, Linux Virtual Server is using ipchains (on the load balancer), > and you can use any kind of OS on your real servers (those running your > application), since it's only TCP/IP routing and/or forwarding. Thanks Frederic, I had only ever hand-cranked this kind of setup manually with ipchains and not looked as LVS. 8-) Yes indeed, the OS you run it on is Linux as a load-balancing router, and yes, the balanced machines can be anything. I've run various Windoze machines (ulp!) behind this kind of setup. === To: "Dave Hodgkinson" <daveh@davehodgkinson.com> From: "Perrin Harkins" <perrin@elem.com> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 12:06:15 -0500 > Aside from the fact I _really_ wouldn't expect that manny actual, live > TCP connections at one time... Nor would I, although we did see huge numbers of open connections during peak times at eToys. Mostly to the image serving machines though. > I _really_ hate so-called dedicated boxes. They're closed, nasty, > inflexible and often don't work in _your_ situation. Doing smart > session-based redirection can be hard with these boxes. You can make it work with homegrown solutions, but I've found the dedicated load-balancing tools (at least Big/IP) to be effective and fairly easy to work with, even with large loads, failover requirements, and more exotic stuff like sticky sessions. This is one area where the problem seems to be well enough defined for most people to use an off-the-shelf solution. They're often more expensive than they should be, but if you don't have someone on hand who knows the ipchains or LVS stuff it can save you some time and trouble. === To: perrin@elem.com From: "Erich L. Markert" <emarkert@netscape.net> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 12:28:21 -0500 perrin@elem.com wrote: > >You can make it work with homegrown solutions, but I've found the dedicated >load-balancing tools (at least Big/IP) to be effective and fairly easy to >work with, even with large loads, failover requirements, and more exotic >stuff like sticky sessions. This is one area where the problem seems to be >well enough defined for most people to use an off-the-shelf solution. >They're often more expensive than they should be, but if you don't have >someone on hand who knows the ipchains or LVS stuff it can save you some >time and trouble. > >- Perrin > If I'm not mistaken didn't the article about perl/mod_perl and etoys have some interesting things regarding load balancing? http://www.perl.com/pub/a/2001/10/17/etoys.html === To: Perrin Harkins <perrin@elem.com> From: Jeff Beard <jeff@cyberxape.com> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 10:38:34 -0700 (MST) On Fri, 14 Dec 2001, Perrin Harkins wrote: > > I _really_ hate so-called dedicated boxes. They're closed, nasty, > > inflexible and often don't work in _your_ situation. Doing smart > > session-based redirection can be hard with these boxes. > > You can make it work with homegrown solutions, but I've found the dedicated > load-balancing tools (at least Big/IP) to be effective and fairly easy to > work with, even with large loads, failover requirements, and more exotic > stuff like sticky sessions. This is one area where the problem seems to be > well enough defined for most people to use an off-the-shelf solution. > They're often more expensive than they should be, but if you don't have > someone on hand who knows the ipchains or LVS stuff it can save you some > time and trouble. I couldn't agree more. In terms of managability and scalability, the various software solutions simply add complexity to something that is already so. I've got some experience with Alteon AceDirectors and even though they seem little flakey at times, you do end up with true load balacing. (We have Cisco's solution deployed and they periodically have issues too.) DNS round-robin should be avoided at all costs. It's half-assed at best. In the case of a failure those clients that have that IP cached are SOL. On some of the systems that I've deployed we have a frontend proxy on the same box as the mod_perl with the mod_perl server listening on 127.0.0.1. This is behind an Alteon (or 2). You can put the proxy on a separate box as well but (I've seen some odd problems with TCP connections not working in this situation which I never fully understood but may have had to do with the Alteon being flakey.) Anyway, my advice is to go with a hardware load balancer/intelligent IP switch. In the long term, it will pay for itself in the time recovered from *not* being spent on troubleshooting complex problems. === To: "Tom Mornini" <tmornini@infomania.com>, <modperl@apache.org> From: "Perrin Harkins" <perrin@elem.com> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 17:21:26 -0500 > At least one person MUST mention Backhand! He actually posted this on the mod_backhand list, and Theo suggested he buy a content switch. Many of the useage scenarios for mod_backhand involve coperating with load-balancing hardware of some kind, so it's not that surpising. > I'm working on a project right now that is expected to grow to 100+ > servers in the next 12 months. In past projects I've worked on, handling > of the log files becomes non-trivial at numbers far below that, so I > built the new system to log via Spread (www.spread.org) and it is a > wonderful thing to behold. Backhand doesn't actually use Spread, IIRC. That's cool that you got Spread working with Perl though. I've been thinking that Spread would make a good mechanism for distributing shared data, possibly as an Apache::Session or Cache::Cache backend. === To: Hemant Singh <hsingh@ggn.aithent.com> From: Medi Montaseri <medi@CyberShell.com> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 16:31:53 -0800 (PST) I think you also have to specify weather your web applications are state-less or not. If stateless, then you can just use DNS Round Robin technique or lbnamed (Load Balancing Name Server) to achieve this load balancing or high availability. If your apps are statefull as in ASP, Cold Fusion, JSP, etc, then you'll need to retain the sessions and that becomes more complicated but possible. === To: <lembark@wrkhors.com>, <modperl@apache.org> From: "Jimi Thompson" <jimit@prodigy.net> Subject: Re: load balancing on apache Date: Fri, 14 Dec 2001 21:17:44 -0600 My recommendation is that you do none of the things that you are looking at for optimal performance. Instead, opt for a seperate hardware solution. We went through this about a year ago when we were architecting a solution for my employers site. Admittedly, takes more traffic than you do, but we found that the dedicated hardware device offers many advantages (including layer 7 routing capablity) which we have found to be extremely useful and well worth the extra cabbage. Cisco (and several other folks as well) make some fine load balancing hardware devices. Alteon makes one, I know . We evaluated it, but we got a better price and better support from Cisco so we went with the CSS even though I was as impressed with their device. I'm sure that there are lower end alternative, but it depends on what kind of load balancing you want to do. Do you want to do "round robin"? If not, then what criteria do you want to use? === To: Anand R <anandr@dsmsoft.com> From: Medi Montaseri <medi@CyberShell.com> Subject: Re: load balancing on apache by IP CHAINING Date: Sat, 15 Dec 2001 20:57:19 -0800 (PST) I'm confused....'IP chainging' as the name says is at the IP (or Network) layer, what does that have to do with Apache or any HTTP server at the application level. I think any such IP based load balancing technologies are inherently unaware of the total system issues and are simply making a jugdment based on the IP level or perhaps a specific protocol on top of IP to route the next packet (or next session). Having said that a Perl HTTP would/could benefit from it just as well... === To: <modperl@apache.org> From: David Young <dyoung@nettonettech.com> Subject: Re: load balancing on apache by IP CHAINING Date: Sun, 16 Dec 2001 11:44:49 -0500 Servlet chaining is what the Java web server will do, and it has nothing to do with load balancing (that I can think of). ipchains is the command to enable firewall/packet filter/packet masquerading capability in linux. I would suppose that it can be used to round-robin requests or something, but I don't know how to set that up. === To: "'David Young'" <dyoung@nettonettech.com>, modperl@apache.org From: Joe Breeden <jbreeden@ena.com> Subject: OT RE: load balancing on apache by IP CHAINING Date: Mon, 17 Dec 2001 08:46:36 -0600 I don't know how many of you read SysAdmin (http://www.samag.com), but there is an interesting article on running IPChains at runlevel 0. ===