Last month, I had written about the Hosting woes I was facing. To be frank, I must say it was my fault that I did not read through the finer prints of the Terms and Conditions I signed before buying the hosting account with my web-host. Over the past 1 month, after researching enough, I have understood the importance of reading through those finer points of terms and conditions, and thought of writing a post on the same so that all the new bloggers who are thinking about hosting their own domain on the web are aware of these fine print details.
When we start looking for a web host, we normally look at various criteria like Monthly cost, average uptime/downtime, User reviews, personal recommendations, freebies offered etc. Unfortunately in most of the review sites or feature lists of the prospective hosts, what we do not see are the Resource usage Limits.
Most of the web hosts these days advertise highlighting how much of bandwidth and disk space they are offering to the website you will be hosting with them. My host offered me UNLIMITED Bandwidth and UNLIMITED disk space for a ridiculously low price of less than $5 a month. Being a dreamer, who always dreamt about having a hugely popular technical blog, I thought a little before buying the hosting service which also offered me a Free DOMAIN as part of the package (yummmm)!!
Little did I know that Bandwidth and Disk Space are seldom the factors which hamper a growing site.
Considering the Blogging website platform as WordPress (which serves dynamic webpages), the Bandwidth or Disk space are never the limiting criteria, but it is something called Resource usage Limits which is not part of the attractive features list advertised by the hosting companies.
So, What are these Resource Usage Limits?
- CPU Usage
- Memory Usage
- Database Connections
When a web page is getting constructed, in order to process the programming language (PHP in case of WordPress) and to deliver the webpage to the browser, the server’s CPU is used. In case of platforms like WordPress, since the webpage construction happens dynamically using a script, more and more CPU usage will be needed. And since the server is shared by tens and sometimes hundreds of websites, if any one of the websites excessively use the CPU, rest of the sites will be slowed down. This is why the web hosts constantly monitor the amount of CPU each site is using on the shared server and in case a single website exceeds the benchmark set for the resource usage, the owner of that website will be asked to upgrade his plan to a DEDICATED server which will be serving only one website.
Having huge or unlimited disk space allocated for your website is cool, but what one should worry about before going for a shared host is what is the Memory (RAM) usage limit set on that server for each website. RAM is the temporary memory which holds the code, scripts and other data when the webpage is being processed by the CPU. Unlike the hard disk memory, Random Access Memory for a server is mostly fixed and it is again shared by all the websites hosted on the particular server and also by the server itself. In case the script is corrupted or badly coded, it might start using hell amount of memory, much much above the measly limit defined for your website. In that scenario, the web host promptly take down your site to ensure rest of the websites keep getting their share of Memory and CPU.
The data required to populate the webpages created dynamically are stored in a database. These database servers have a limit on the number of connections they can accept at a time. When too many connections are made to the server, they run out of resources and stop serving the requests. This is what happened last month when one of my articles hit the front page of StumbleUpon and there was a sudden surge in traffic to my website. As and when the limit of connections exceeded, the users started getting “Can’t connect to MySQL database” error.
If you are running your website on CMS like WordPress or Joomla, make sure you do enough research on the 3 resource usage limits mentioned above for each web host and not just the attractive feature lists like Free domain & Unlimited bandwidth. What is the use of having Unlimited bandwidth allocated to you, when you are needed to take care of the measly CPU, memory and database connection limits?
I hope this article helps all those new webmasters to plan and evaluate the web hosts in a better way.