Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Hypothetically speaking...

I have a website that is becoming quite popular. It is a fairly simple site, written in PHP and connecting to a MySQL database.

The server it is hosted on has a top-notch Intel Xenon processor, 16GB RAM, and 2TB hard drive space. Our internet uplink is 20Mbps.

Most of the time, the server's processor is running about 85%, ~13-14GB RAM is used at a given time, and 1.4TB have been used. It is time for an upgrade...

My uncle has 20 cheap Dell Optiplex computers, each 2.4GHz and 500MB Ram, and 250GB hard drive space. Is it possible to connect these computers and have it outperform my current server? If so, How? Can I link the hard drives and have one giant 2500GB hard drive or 2 hard drives to prevent a failure? If our site continues to grow and develop (which it probably will), how can I load-balance the network. Even if I get the fastest internet uplink in my area (120Mbps here) can I get 2 or more uplinks for one cluster?

Is there a book that explain the making of a server cluster/supercomputer? Thanks.

EDIT: Lets say I have 20 rack-computers that each have 2GB RAM, 250GB hard drive, and Intel Xenon Processors. Top end rack computers. Any pretend money is of no object for this situation. I will NOT go to third party hosting services.

share|improve this question
What have you done to profile and optimize your code so far? – jgoldschrafe Oct 25 '11 at 4:24
What have you done to optimize the web server and MySQL configurations? Quite often throwing more hardware at the problem is not the best solution at all. – John Gardeniers Oct 25 '11 at 4:46
Those computers aren't worth the cost of the power they'd draw, and I doubt in total they outperform what you have now. Instead, profile/optimize your site. – David Schwartz Oct 25 '11 at 4:55
up vote 3 down vote accepted

I'm not even sure those old systems will outperform that xeon with all that ram. Even if it does though, it'll cost you tons to get all that colo'd somewhere, and your users that are more geographically sparse will still not see the best performance improvement. I think you should consider hosting it with EC2 or something instead, or at least, if you're going to go the route of physical servers, with the money you'll save by not putting a dozen of those desktop machines in colo, you'll be able to buy a second and third server like the one you have currently and load balance across two servers with a dedicated backend MySQL server with a juicy disk array. And it'll only cost you for 3-4U of colo space this way.

share|improve this answer
+1. Scale out is one thing. Scale out with crap hardware is another. The electricity cost alone is higher here than a new server. – TomTom Oct 25 '11 at 4:53

I would recomend that you look at Amazon's EC2 offering, or RackSpace's virtual server offereings. Both can provide you with load balancers for very little cost.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.