Some websites will always need more resources than others, this is either due to the codebase or because they are getting more popular. As sites get more popular you may find that they start to effect the performance of other sites hosted on the same server, when this happens then it is time to move the site to its own server. Once the site is on its own server, where do you go from there?
Once your site is on its own server, where can you go from there if you find that performance is starting to suffer again?
The simple answer is to “chuck” more RAM at it, however you may find that you that all this does is change the tipping point of the machine for a short period of time or it has no effect at all as RAM isn’t always the bottleneck. Most people start thinking about splitting the roles of the site out onto different machines;
Database server – The first step most people take is to move the databases used by the site to their own server, this will allow you to tune the MySQL installation so that it takes full advantage of the available CPU and RAM resources without having to worry about the impact that this will have on Apache and PHP.
Quick TIP: When running on just the one server use a fully qualified domain name or any entry in your local hosts file to for your database connections eg. mysql-server.domain.com. It is easier to change the IP address on a single DNS record point / hosts file entry than it is to work your way through your code changing every reference to “localhost” or an IP address.
In the next part we will look at adding more web servers.