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.