The REAL way to benchmark your Web Hosting Service

Free Web Hosting has always been popular among the technology enthusiasts. Whether be it traditional LAMP based hosting or the relatively new Cloud phonomena, almost everyone nowadays needs a space on the web to park their contents. The need could range from a very simple looking blog such as the one you are reading to over-engineered and bloated entrepreneurial stuff.

Regardless of free hosting or paid, the predominant problem many of us face is that we face several issues while dealing these providers. First of all, their pricing mechanisms are so complex that its difficult to understand at what level of traffic we will be charged.

Apart from that, there is the matter of uptime. How do you know when comparing providers X and Y that whose quality of service is better? Who has better uptime and delivers a good network speed with lower latency?

While pondering these questions and their possible solutions, I have developed a benchmarking app called Host Metric. Though only php language is supported for the moment, you may visit the app and test the network latency and speed of disk I/O (reads/writes) for the file-system and various database formats such as mysql, sqlite, etc. Host Metric sits on a server and queries these servers on your behalf, much like a unix tool such as apache-benchmark does:

The only difference is that as more and more people will perform these tests, we will have a good statistics on the various web hosting providers and we will know exactly what we are paying for (OR not in case of free hosting!), and whether the service is worth it.

For those who are technically inclined, the entire code for benchmarking.php script that calculates the I/O stats and returns it back to the server where the app runs is available on my github repo. This way, you can not only get to know the network latency, but also the I/O stats. And since I/O forms a very crucial portion of around 80% of the real world apps, having this information will help you get an idea about how well is your app going to perform on a given platform.