I had recently started my blog and chosen Bluehost as my hosting provider. The reason for choosing Bluehost was that I had hosted many static and low traffic websites on their servers previously and also because Bluehost was featured on wordpress.org under the hosting tab.
A side-note, for professional work I have always been working on dedicated servers or VPS, so didn’t have much experience of hosting decent traffic web apps on shared hosting.
Now initially it didn’t really go all that bad, my blog was up and running in no time. There wasn’t much traffic initially. I installed WP Super Cache plugin as well and I was quite satisfied that because of caching there really wouldn’t be much load on apache or mysql server. And besides that I really didn’t install many plugins and any that I did were custom built by me so I was sure there was no performance loop-holes.
WP Super Cache caches the entire output and saves it as an html file, so all the web server really had to do was churn out static pages and that’s what made me satisfied.
But lo and behold, all my expectations were grounded, only after a month or so after setting up my blog. I had posted a blog post about this plugin of mine named ‘jSpotlight’ and it attracted quite a large number of visitors on my website. And as soon as that happened my blog started going down randomly, the web page would become unavailable, posting comments would become impossible, the admin panel became unresponsive and I started getting emails from visitors saying that they couldn’t comment.
Signed up for http test service
I really wasn’t amused and I decided to see how much time my blog remains down. So I signed up for a really nice free service “was it up?” What this site does is you provide it a web url and an email address of yours, and the service would notify you whenever the web your monitoring goes down.
Blog goes down for 20 to 30 minutes every 4 hour
“Was it up?” started sending me emails every 4 hour or so, notifying me that my blog had gone down, it would take around 20 to 30 minutes for it be back up again. That really is pathetic keeping in mind that my blog is cached and that the web server would really be spitting out static content.
CPU throttling (limiting)
CPU throttling is an excuse used by hosting companies to limit CPU usage for websites that are utilizing “too much” CPU resources. But that too much is really too little, and it is an excuse being used by hosting companies, which allows them to host a greater number of websites on their already drained-for-resources server. Now coming back to the point, my blog would be throttled every 30 minutes or so and hence loading very slowly for my visitors.
MySQL server issues
Now as the number of visitors grew, it really became very painful to manage my blog. During peak time I had to face following issues with Bluehost’s MySQL server:
- Unable to post any comment
- Unable to publish my post or save drafts
- Unable to use sections of admin panel
Anywhere where, the MySQL server was being accessed, it really made my blog look bad, it wasn’t able to cope with a small amount of load, and small amount of load it is because of the caching stuff that I mentioned earlier.
Anyhow facing these issues made me peak into the slow query log and man was I let down when I looked into the queries that were logged because of having taken too much time. There were some queries in there that were examining fewer than 10 rows and still taking more than a second to execute, that’s really bad.
Pathetic technical support
Adding to my woes was the technical support that Bluehost provided. It really can’t be called technical at all. These so called techies didn’t know anything about what was happening literally and were of no help either. The only thing that they knew was to mention the slow query log, and when I would tell them how simple queries examining less than 10 rows were logged in there, they had the audacity to tell me that WordPress generally has such problems and that I should switch to some other blogging software.
My experience with Bluehost has really been a bad one and I would recommend against anyone trying hosting a site on Bluehost that would receive even 100 to 200 visits per day. Bluehost might be cheap and good for sites that are static and don’t receive much hits, but for dynamic sites it’s a big no no.
On a final note, I have moved to Linode and signed up for a $20 a month VPS and it is so far so very good. I have disabled caching (for testing out load bearing capabilities of my Linode VPS) and so far the results are very good, there is not a single query in the slow log and the serving time is close to 3 seconds, which is pretty good with caching disabled. I will have more updates available about my Linode VPS after I have benchmarked it more thoroughly, so stay tuned.