If you have looked into web hosting you probably noticed cheap packages and plans that say unlimited everything. Unlimited disk space, bandwidth, databases, domains, email, you name it. I don’t recall which company was the first to start this, but most followed suit shortly thereafter. Bluehost, Hostgator, Hostmonster, and just about all of the other big hosts seem to be doing this now.
Unlimited should really be called something like unmonitored or not monitored because in reality there is no such thing as unlimited. When was the last time you bought a computer that came with a hard drive that had unlimited space? Can you say NEVER!
The reason they use the word “unlimited” is because people see that and they naturally assume that they can do just about anything with it, and they know people will pick unlimited space over 10 GBs of space.
In reality unlimited doesn’t mean you can do anything and never have to worry about it for a reasonable $5-$10 per month.
Hosting companies hope that most people/sites will not use enough space, bandwidth, and such. Only a small percentage of sites ever use more than the average or expected amount.
If you have a small low traffic website then you will have nothing to worry about. However, if you are using cheap shared web hosting and you have a popular website that receives a significant amount of traffic you should be concerned.
Your host can and will shut your website down usually without warning too. One day everything seems to be going nice and smooth. You call it a night, and head on off to get some sleep. When you get up the next morning BAM! There is a nice warning message on your website that says: “This site has been suspended. If you are the webmaster please contact support, etc.” Something to that effect. The message varies slightly from one host to the next.
I am not sure why some hosts don’t send out an explanation email along with a suspension. You would think that it would be easy enough and a common courtesy, but for some reason a lot of them do not. Which would sort of be the equivalent of your child being sent home (suspended) by the principal without an explanation as to what he/she did wrong. Nobody likes or wants to be suspended, but it sure helps to know what the problem is.
Unlimited Myths – Check The Resource Limitations
Even though a hosting company may have packages that say unlimited you really need to read over the terms of service and acceptable use policy. Usually this is where they get you and where you could have problems.
Look for resource usage, limitations, or similar wording. They vary from one host to the next, but you will probably find something similar to:
“We will not provide services to use our system resources that include, but not limited to memory, CPU, disk, network, and bandwidth capacity, over the specified levels (indicated below) in any consecutive X hour period.
Some Hosting Plan | Resources over 20%+ | No longer than 90 seconds
We will not provide services to run any MySQL queries longer than 15 seconds. MySQL tables should be indexed appropriately.
In some cases, (Hosting Company) may not establish a specific amount of bandwidth, disk space and other resources, and refer to that as “Unlimited”. In all cases, the Services are intended for normal use only, and any activity that results in excessive usage that is inconsistent with normal usage patterns is strictly prohibited. (Hosting Company) reserves the right to suspend, discontinue or delete the accounts of Users whose use of disk space, bandwidth or other resources results in or presents the risk of degradation of service to other customers, regardless of the amount of disk space, bandwidth or other resources included in the User’s plan.”
So using the example above if your site has a lot of visitors and/or your particular PHP script/CMS (Content Management System) consumes more than 20% of the server’s CPU or memory for 90 seconds then your account could be suspended.
Another thing that they are not so clear about is whether that 20% figure is based on 1 CPU core or all of them. Usually it’s not documented and you would have to ask them, but generally most hosts base this on 1 CPU core. So that would be 20% of 1 CPU core, and not 20% of 4/8 CPU cores. If the server had a 2.4 GHz CPU/CPU’s you wouldn’t want to use more than 480 MHz for 90 seconds at 20% usage. With a 3.0 GHz server that would be 600 MHz for 90 seconds. Of course with most cheap shared hosting accounts there is no way for you to actually see these kinds of details.
Rack Up More CPU Resource Usage When Adding More Domains
If you add another domain or create subdomains (blog.yoursite.com/forum.yoursite.com) keep in mind the resource limits would be for all your account activity not per domain or subdomain. Everything counts towards your resource usage. Email, cron jobs, PHP usage, etc. They all get factored in.
Reduce CPU Resource Usage With Fcgi/Fast Cgi
There are a number of server setups and configurations available that you might consider, and they do vary from one host to the next. One of the more common configurations among hosting companies right now is suPHP. suPHP will generally use more CPU resources, but less memory when compared to Fcgi/Fast CGI servers. Fcgi/Fast CGI will usually use less CPU resources, but more memory and it is substantially faster than suPHP in most cases. Fast Cgi is a little more complex and confusing, but it is definitely something to look into if you are trying to reduce CPU usage.
Some hosts allow you to switch between suPHP and Fast Cgi in your control panel simply by changing one little setting in the PHP Config area. With cPanel Hosting it would be in this area:
Hostgator is another popular host that uses suPHP by default at the time of this post, which works well for most sites. From what I understand they do have Fast Cgi available. However, their instructions about how to enable it are not so clear.
Just be aware that when you see all the unlimited features a hosting plan comes with it doesn’t mean that you will be able to do anything you want. Your website’s resource usage will play a major role in whether it is really unlimited or not.