I have a site that is getting about 30k hits a day, nothing too special. After cleaning up some mysql calls I think I am having it run a little smoother during high traffic times, but during the course of trying to clean up the site's processes the host suggested I look into load balancing. I'm already paying $1k a month for a server (8GB RAM, unlimited bandwidth). I'm wondering "when" is the time someone with a website goes into the load balancing option for a site. Is there some rules or rubric to go by which tells a Sys Admin that it's that time to do so?
Firstly, what your delivering must be important IMHO :)
Secondly.. if your servers CPU capacity is above 40% its time to scale out a little bit..
Consider 2 webservers and a dedicated SQL backend as an example..
The rule of thumb is..
if you have 2 servers running at 40% capacity and one fails.. You will have one server running at 80%
You can see how bad this can go when you are running at 50%+
These same rules apply to many features of applications and hardware.
My best suggestion is, ask yourself is it worth the money?? And why are you spending so much??? :P
Generally there are two triggers for load balancing. When the site grows beyond the capabilities of one server or when you want eh redundancy and reliability that may come from having two servers in case one may fail. Also, sometimes it can be cheaper to buy/rent two or more low end servers and load balance, instead of one large server.
30k hits a day is less than one request per second, so unless your traffic has a significant peak, or you need the redundancy, it is probably pretty early to be considering it.
Another way to determine when, is by thinking about the cost of an outage vs the cost of having a second server.
It is already costing you $1,000 a month to host. Can you afford £2,000 a month?
At what point will "downtime" cost you that extra $1,000 in lost revenue? How quickly can you reasonably fix a broken server. Would you customers really be adversly affected.
From a commercial point of view, you want to squeeze all you can out of the server until the pip's squeek otherwise your just throwing money away.
We all want 100% uptime, but it comes at a price.
I'm already paying $1k a month for a server (8GB RAM, unlimited bandwidth).
That is VERY expensive - we talk of abut 700 EUR here per month. I can see such a server for about 150 USD from my local ISP. Unlimited bandwidth may add some to that, but 1000 is simply said... ...paying for a gold bar and getting lead.
Now he possibly thinks of milking you for more?
Start self-hosting on your own hardware.
Get a decent server (dual opteron, possibly 6-12 cores, up to easiyl 64gb RAM). Put it into a decent data center.