Implementing a Load-Balanced Webserver? 18
Amoeba Protozoa asks: "How do I implement a load-balenced, layer 4 switching web-server? Would it be possible to mix O/Ss? Besides your incoming bandwidth, where do the bottlenecks occur? I would prefer to use Apache, Linux or BSD, and be able to utilize mod_perl or PHP to access a shared MySQL database. I would like to make this setup as scalable as possible."
Define your terms (Score:1)
You can have 2 or more machines (with different IP addrs, naturally) using round robin DNS to answer to the same name.
You can have seperate boxen for HTML, graphics, and the database. Depending on what you're trying to accomplish, you may be able to split the db among 2 or more boxes.
If you've got (for example) one machine as HTML and a different one for the db, it really doesn't matter what OS their running.
What do you mean by layer 4 switching? The last time I saw that buzzword was in brochures for networking h/w, i.e. glorified ethernet switches. Save yourself a few bucks and just stick everything on 100BaseT. If you can afford a network connection that makes 100BaseT a bottleneck, then you can afford to hire someone to do all this for you.
Oh, and as to bottlenecks... Take a look at some of the tutorials about reducing the storage requirements of your GIFs. It's amazingly easy to shrink your GIFs, and that's probably the cheapest way to optimize a web site.
Yeah, this is vague, but your question is a bit vague too. Don't take my word for it, set it up and test the hell out of it.
NAT with Cisco Local director or ... Linux (Score:1)
Re:Cluebat (Score:1)
mod_backhand (Score:2)
If you like Apache, check out mod_backhand [backhand.org]. It is a module load-balancer that is under development (but works well now) over at The Center for Networks and Distributed Systems [jhu.edu] at Johns Hopkins.
It is a module that incurs almost NO overhead. You can mark directories or locations with Load Balancing policies and BOOM. That is it. It communicates with other Apache servers via multicast and handles the rest. You can even plug in your own decision making algorithms. It is super simple to load balance cgi-scripts to some machines, mod_perl database script to another set and images based on a completely different policy. Or just use our default
It curently runs under Linux and Solaris, but the next release will support BSDI as well.
It is a software solution that can be combined with any hardware solution you choose (if you need that too). You can't loose with this. The install process and set up time combined is very minimal.
Of course, I am a little biased
-- Theo Schlossnagle
Re:Unisys witch hunt (Score:2)
Bottlenecks (Score:1)
But to be honest, the Internet is always the real bottleneck. Once you try and provision your first DS3, you will figure this out.
If your primary concern is scaleability, you need to find someone who understands network design issues, including but not limited to:
Networking protocols like BGP4 and STP (Spanning Tree is very important), VLANs/Trunking/EtherChannel/ISL, all switch and router software/hardware specifications/bugs, Provisioning of Telco circuits, Public and Private Peering, etc.
If you don't understand how the Internet works and how to build scaleable networks (and this takes years of experience), then Knowledge is your biggest botteleneck. I believe someone had stated above that beyond 100BaseT, you need to hire someone that knows what they are doing. Well, that sounds about right.
Eddie.... (Score:1)
At least worth a look, anyway.
LinuxDirector is the way to go (Score:1)
Re:Unisys witch hunt (Score:1)
And anyway most HTML is made for 4.x generation browsers, and not tested anymore on older browsers. So supporting those older browser isn't even a modern issue.
Re:Unisys witch hunt (Score:1)
Before it was just IE and Opera, but as of the 4.7 redhat package anyway, netscape also handles them incorectly.. Only Mozilla does this right...
Check out this page to test it:
http://www.w3.org/Graphics/PNG/Inline-embed.htm
I get this message:
/home/spinkham/.netscape/cache/1c/cache3805FF3c
On refresh, png and object tags don't work correctly either...
Only with img tags do they work right.. Ugh...
I thought as version numbers increase, things were supposed to get better?
Nah, shovelware has done away with that concept. Now software gets worse with each revision.
(OK, I'll get off my soapbox now...)
Linux Virtual Server (Score:1)
Database servers are often the bottleneck. I think people are nuts for load balancing their web servers when it is the database servers that are most often bogged down. A 486 running PHP can saturate multiple T1s if the database back end is fast enough (I've done it).
Re:Unisys witch hunt (Score:1)
treke
Re:Unisys witch hunt (Score:1)
Layer 4 switching (Score:1)
We will be evaluating some shortly... we'll see how it goes.