How to Kill Your Servers - Learning How to Scale the Hard Way
highscalability.com
highscalability.com
For example, at an ad-serving company I worked with, stress-testing the ad servers required a botnet of hundreds of machines in order to approximate the load of millions of real users.
The hardware required to run a stress test can easily be 25% or 50% the hardware required to run your production environment. It's not just a workstation with JMeter.
Even if it's not easy to tell the min/max bounds in high scale deployments, it's possible to give an approximate value by measuring elements. You have load balancers that don't do more than X req/s, servers that take X ms/req, databases which can do X q/s, caches with delay X ms in X% of request. That gives you an rough estimate - then it's about locating bottlenecks which prevent you from reaching those numbers. (simplified model)
Hire a sysadmin. And take his advice.
A solution that involves other-than-software is not automatically buy-vs-build, nor an appliance.
Broadly, to me, it's usually about choosing the right hardware and assembling/configuring it in a "custom"[1] way. This is usually significantly cheaper than trying to get anything off-the-shelf to scale.
stay away from pound etc, just stick to LVS
I've learned to stay away from anything with heavy dependency on kernel code. My preference is HApoxy.
[1] Optimized for the problem at hand, which, usually, is remarkably commonplace, just nowhere near as commonplace as a lowest common denominator web server.
I was actually a little sad he didn't kill my cute little Linode server...
Di diyanu, di diyanu, di diyanu, diyanu, diyanu!
It would have been enough for us.