Getting hosting for your website is now really cheap. For a few dollars a month you can get access to a Linux server, and this access will include PHP, MySQL and apparently unlimited bandwidth. Not to mention the hosting of multiple domains.
However before you get too excited, you need to understand what you’re getting. A web host’s server, on which you have your website, is not much different from a home computer. It stores information, and it has a central processing unit, or CPU.
When you hear that your host gives you unlimited or very large bandwidth – for example thousands of gigabytes per month – this probably doesn’t mean that your website can in actual fact handle such traffic.
Part of the problem is the CPU. You know from your own computer that if you have too many programs running at the same time it will quickly grind to a halt. It’s the same with a server. If you’re on a cheap hosting plan, and loads of people are visiting your site, there will be pressure on the capacity of the CPU, that’s at the heart of the server.
It’s quite natural that your hosting company can’t allow you to hog the CPU. There are finite limits to capacity and other of the web host’s customers will be sharing this CPU.
So if your traffic is taking up too much of the server’s CPU capacity, your website might become inaccessible – especially during very busy periods. And in extreme cases the web host might close it down.
Alternatively, your host might impose ‘CPU throttling’.
If they determine that your site is taking up too much CPU capacity, your access to the CPU will be restricted, or ‘throttled’. As a result your website will slow down, without necessarily going off air.
The CPU throttling won’t happen all the time – only when you are deemed to have a lot of traffic. And the host I use allows you to check how much your website is being throttled, through the control panel. So when I go to my control panel, I can see that my account has been throttled for just over 271 seconds over the last 24 hours.
Which brings me to the question of what can be done about CPU throttling.
Clearly one needs to make sure that one’s website is using as few of the server’s resources as possible. In this light it goes without saying that audio and video content should not be stored on the server of a host where CPU capacity is shared.
If one is using WordPress, or any other application that makes extensive use of databases, one has to be careful.
When visitors come to your WordPress-based site, information is being drawn from a database, and this accessing of a database can cause the CPU to do a lot of work. The situation can be intensified by certain WordPress plugins.
To give an example, for a short period of time I used an application that kept user statistics on my web host’s server. Every time someone visited my site, information was written to my database tables. It seemed a good alternative to Google Analytics, especially the live feature, which allowed me to see visitors coming to my site in real time.
Unfortunately this application caused a great deal of CPU throttling, and I had to stop using it. It wasn’t the fault of the application, rather it was the fact that I was running it on a cheap web host.
One possible way of reducing the CPU throttling on WordPress-based sites is to use a plugin which caches your pages, such as WP Super Cache. As a result of such a plugin visitors can see your pages without the database having to swing into action.
Yet the question of CPU throttling raises a wider issue. If your website is important to you, particularly in terms of income, you shouldn’t have to worry whether or not you’re using too much CPU capacity.
If you have a lot of traffic you might consider moving to a dedicated server, where you have an entire CPU at your disposal, and you can use as much of its capacity as you like. Or else you could move to a more expensive shared host, that understands your needs. Remembering that nowadays twenty dollars a month goes a long way!