Web server hardware requirements
December 12, 2006 7:03 AM Subscribe
How to calculate hardware requirements for a load balanced web server cluster? The web servers will be running Windows 2003 with a back end DB server, I want to support about 1000 simultaneous connections per server. The web application is fairly AJAX intensive. Not sure how I go about determining what sort of hardware I need for the servers, any ideas or suggestions?
The generic advice is to benchmark at a lower load level and then scale that up to determine required capacity. It's pretty hard to do completely on paper.
posted by GuyZero at 7:11 AM on December 12, 2006
posted by GuyZero at 7:11 AM on December 12, 2006
Also, one key thing during load testing is to determine your app's true bottleneck. Is it db access? Serving pages? Login? Whatever that bottleneck resource is, that's what you're going to need to scale up the most.
posted by GuyZero at 7:22 AM on December 12, 2006
posted by GuyZero at 7:22 AM on December 12, 2006
It's impossible to do on paper. GuyZero is right about bottleneck. Your application will only be as fast as the narrowest bottleneck, and after you improve that it's on to the next narrowest bottleneck, until your application performs adequately ... and then the CEO will break down your door when you have some big event that drives load up into the stratosphere bitching about your site not responding fast enough.
The real answer to the question: "Well, how large is your budget?" ... buy as much hardware in as redundant and highly utilized configuration as possible, and I can guarantee that shortly after flipping the switch you'll either have found that you need more hardware and need to optimize X or that you have more hardware than you know what to do with ... in which case I guarantee you'll find a way to use it. ;) We always have!
Make sure that whatever you do your database can handle the load of the ajax requests. Look into database caching like memcached if you're doing ajax. Try to avoid CPU-intensive ajax transmittal methods, i.e. don't parse XML on the server side.
posted by SpecialK at 8:42 AM on December 12, 2006
The real answer to the question: "Well, how large is your budget?" ... buy as much hardware in as redundant and highly utilized configuration as possible, and I can guarantee that shortly after flipping the switch you'll either have found that you need more hardware and need to optimize X or that you have more hardware than you know what to do with ... in which case I guarantee you'll find a way to use it. ;) We always have!
Make sure that whatever you do your database can handle the load of the ajax requests. Look into database caching like memcached if you're doing ajax. Try to avoid CPU-intensive ajax transmittal methods, i.e. don't parse XML on the server side.
posted by SpecialK at 8:42 AM on December 12, 2006
Can your DB handle 1000 simultaneous connections from X computers? You mention PER SERVER, so that's a decent sized hit for a web server to take, depending on what's being served.
Your best bet is caching, like SpecialK said. After that, perhaps loadtesting from a few different computers at a time, to get up to the required simultaneous connections?
posted by taumeson at 9:28 AM on December 12, 2006
Your best bet is caching, like SpecialK said. After that, perhaps loadtesting from a few different computers at a time, to get up to the required simultaneous connections?
posted by taumeson at 9:28 AM on December 12, 2006
For the love of god, don't forget to consider an actual hardware load balancer!
Here's a few to consider:
F5 BigIP
Foundry ServerIron
Cisco LocalDirector
They're expensive new but you can get them used for a heck of a lot less. I have always had excellent luck with the Foundry ServerIron hardware.
Much better idea than just throwing tons of web servers behind it. And make sure that your application really does support load balanced front end boxes.
posted by drstein at 6:49 PM on December 12, 2006
Here's a few to consider:
F5 BigIP
Foundry ServerIron
Cisco LocalDirector
They're expensive new but you can get them used for a heck of a lot less. I have always had excellent luck with the Foundry ServerIron hardware.
Much better idea than just throwing tons of web servers behind it. And make sure that your application really does support load balanced front end boxes.
posted by drstein at 6:49 PM on December 12, 2006
This thread is closed to new comments.
posted by roue at 7:11 AM on December 12, 2006