• Home
  • About
  • Advertise
  • Consulting
  • Contact Me
  • Guest Posts
  • Links
  • Photo Gallery
    • North America
      • Alaska
      • Rafting the Grand Canyon
      • Taos Timber Frame
    • Central America
      • Belize
      • Costa Rica
      • El Salvador
      • Guatemala
      • Honduras
      • Mexico
      • Nicaragua
      • Panama

freewheelings.com

Life, Travel and Technology for the Unconventionalist

  • Life
  • Travel
  • Technology

Firing Bluehost–How I Doubled My Site Speed Using AWS and Other FREE Services

By Brandon Edward

Share
Tweet
Pin
Share

imgres

After over two years with Bluehost a very sad thing had happened to me and I didn’t even know it.  I lowered my expectations of webhosting.  It happened slowly, a gradual change that I didn’t even notice until one day this site taking 10-15 seconds to load was normal.  Even worse, I almost let my webhost (Bluehost) convince me it was my fault.   After many calls to support over the last six months the diagnosis was always the same:  “The server looks fine, your sites are the problem.  Here are some resources to help you speed up your site.”  Followed by links to optimize WordPress.

Let’s backup a minute.  It wasn’t always this way.  I moved from GoDaddy’s  hosting over to Bluehost a little more than two years ago.  It’s not specifically clear in my memory, but I recall it being a fairly uneventful move.  For a year, my sites performed decently.  Nothing to write home about, but there wasn’t much downtime to speak of.  Then things slowly started to change.

I started to get notifications from my uptime monitors that this site was down img_helpdeskonce or twice a day.  Then, three or four times and finally before the move I setup more intense monitors at PingDom, which revealed it to be more like 15-20 times a day.  The site would often slow to a crawl and the WordPress admin panel was almost unusable.  I called these issues into to support many times over the last few months.  They finally advised that I upgrade from the standard account to the professional account.  I did and my issues persisted.  They again tried to pawn it off on me.  I had a bit of time between projects and figured an experiment was in order.

Bluehost vs. Amazon Web Services

AWS_largeIf you haven’t heard of AWS yet, prepare to be amazed.  To be honest, I don’t even comprehend the full breadth of what AWS is capable of.  I do know that you can virtualize just about anything in their cloud and it is amazingly fast, redundant, and highly available.  Did I mention that they have a FREE tier?  Well, they do, and it includes a Virtual Private Server (VPS) with 30GB of storage on SDD hard drives!

Sold.  I build an EC2 Micro instance with Ubuntu Linux and created an exact duplicate of my site for comparison.  Here are the Apache Bench test results of the sites side by side:

First, the Bluehost site:

root@XXXXXX:~# ab -c 10 -n 1000 https://www.freewheelings.com/
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.freewheelings.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache
Server Hostname:        www.freewheelings.com
Server Port:            80

Document Path:          /
Document Length:        46200 bytes

Concurrency Level:      10
Time taken for tests:   501.149 seconds
Complete requests:      1000
Failed requests:        141
   (Connect: 0, Receive: 0, Length: 141, Exceptions: 0)
Non-2xx responses:      1
Total transferred:      46584207 bytes
HTML transferred:       46154215 bytes
Requests per second:    2.00 [#/sec] (mean)
Time per request:       5011.491 [ms] (mean)
Time per request:       501.149 [ms] (mean, across all concurrent requests)
Transfer rate:          90.78 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    6  30.1      1     635
Processing:  1346 4998 9984.0   2650   94801
Waiting:     1135 4693 9644.0   2382   92987
Total:       1346 5004 9983.3   2651   94807

Percentage of the requests served within a certain time (ms)
  50%   2651
  66%   3071
  75%   3439
  80%   3643
  90%   4640
  95%  20271
  98%  46326
  99%  59211
 100%  94807 (longest request)
root@XXXXXXX:~# 


---------------------------------------------------

A few interesting things there.  First, the entire test took 500+ seconds to complete.  This is primarily because 5% of the requests took in excess of 20 seconds to serve.  This is the exact same behavior I see regularly on my site.  It is generally slow, but usable.  Then, all of a sudden requests slow to a crawl, the site becomes unusable, and my monitors report it down.  Every day this happened.

Now, let’s take a look at the exact same test on my FREE AWS account:

root@AXXXXXX:~# ab -c 10 -n 1000 http://amazon.freewheelings.com/
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking amazon.freewheelings.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.4.7
Server Hostname:        amazon.freewheelings.com
Server Port:            80

Document Path:          /
Document Length:        46926 bytes

Concurrency Level:      10
Time taken for tests:   23.932 seconds
Complete requests:      1000
Failed requests:        19
   (Connect: 0, Receive: 0, Length: 19, Exceptions: 0)
Total transferred:      47235168 bytes
HTML transferred:       46925281 bytes
Requests per second:    41.78 [#/sec] (mean)
Time per request:       239.321 [ms] (mean)
Time per request:       23.932 [ms] (mean, across all concurrent requests)
Transfer rate:          1927.45 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   5.3      0      60
Processing:   160  233 276.3    180    3220
Waiting:       75  137 278.3     89    3111
Total:        160  234 279.1    182    3221

Percentage of the requests served within a certain time (ms)
  50%    182
  66%    198
  75%    205
  80%    208
  90%    217
  95%    230
  98%   1642
  99%   1727
 100%   3221 (longest request)
root@XXXXXXX:~#

Notice the total time on this test is less than 24 seconds compared to the Bluehost server’s almost 10 minutes?  99% of the response times on the AWS server are faster (by a lot) than the Bluehost server’s single fastest response time.  Also notice that the longest response time on AWS is 3221 (milliseconds) compared to Bluehost’s 94807.

We found the problem. What do we do about it?

We move, of course.  But it’s a lot easier said than done to move a half dozen sites with DNS, SSL Certificates, email and webhosting.  It becomes complicated even further when you give up the comfort of cPanel.  So where do you put all that stuff?

Amazon Web Services – This is where I’ve moved the sites

Technical Disclaimer:  cPanel is a thing of the past.  At AWS you’re a building your own Virtual Private Server (VPS).  You are responsible for everything from installing Apache to setting up MySQL to taking care of backups and server updates.  This route is not for everyone and requires a high level of technical competence.  If you need help Freewheelings does provide Consulting Services.

google-domainsGoogle Domains – Who knew?  Google Domains BETA is providing registrar service.  It’s $12 / year for a .com, which is probably cheaper than your current host.  The best thing about this service is that they provide free email forwarding for up to 100 addresses per domain.  Email / DNS / Domain registration problems solved.  FREE.  And mind-blowingly easy to use.

Even if you’re moving your domain hosting elsewhere I highly recommend moving your domain registration over to Google.  The idea behind Google Voice is:  The last phone number you’ll ever need.  I think we should look at Google Domains the same way.  Why do we drag our domain registrations from webhost to webhost with our websites?  It just doesn’t make any sense.

NameCheap – Remember how your webhost used to charge you some insane amount of money ($50) for SSL certificates?  At NameCheap a standard SSL certificate is $9, yes, $9.  Of course, you have to install it yourself and get Apache configured and all of that fun stuff, but it’s worth the extra effort.

Conclusion

This is how I did away with my ~$300/year Professional hosting account at Bluehost and doubled my site speed in the process.  I imagine it’s  a steep learning curve making the jump to AWS and the command line from cPanel, but results are results.

Share
Tweet
Pin
Share

Filed Under: Featured Technical, Technology Tagged With: Digital Nomad

About Brandon Edward

Greetings, I am the bar keep of this fine establishment. In the tradition of a good bar keep I want to know what you think about the article you've just read and the service we're providing here at freewheelings. Can't find your particular brand of scotch? Maybe we have it in the back, just ask. Use the comments section below.

Comments

  1. Kenny Lange says

    March 23, 2016 at 12:45 pm

    Brandon, thank you so much for writing this post! I have been with Bluehost for a couple of years and I am constantly frustrated with the load times when I test mine and my client’s site with Pingdom.

    I am really interested in the setup you’ve described and would like to pick your brain about any potential risks with migrating client sites from BH to AWS. As well as any help in better understanding the AWS system in regards to WordPress.

    I’d like to possibly emulate your setup in my corner of the world and set myself apart from some of my very traditional but also very established competitors.

    I’d be happy to discuss any work or trade for your time and insight. I know both are valuable.

    Your post brought me hope and joy today! I hope you are well!

    Reply
    • Brandon Edward says

      March 23, 2016 at 2:39 pm

      Hi Kenny,

      Thanks for stopping by. I personally cannot sing the praises of AWS loud enough. If you have some specific questions and wanted to post them here I can try to get to them as time permits. That way other Googlers can also reap the benefits. What’s on you mind?

      Reply
  2. Josh Lytle says

    August 20, 2016 at 12:29 pm

    Thanks for sharing your experience. I’ve been considering the same thing. This got me looking into a number of things, and I hadn’t even realized a lot of my old domains were renewing at $15/mo with Bluehost, not their current $12. Looks like Google Domains also provides free private registration. Sold!

    Are you still running your half dozen sites on a single EC2 Micro instance? How close to do you come to maxing that size out?

    One thing I like about Bluehost is the “unlimited” storage. It has been nice to use as an easy place to dump stuff to.

    Reply
    • Brandon Edward says

      August 20, 2016 at 1:35 pm

      Hey Josh, thanks for stopping by. I’m still running about a half dozen sites on the micro instance. The experience this far has been fantastic. It did take me a while to get the instance tweaked to run reliably. If I remember correctly I did a lot of trial and error testing with the apache prefork settings, created a swap for extra memory, and setup service monitoring using monit to get started. It’s been pretty much on auto-pilot since I wrote this article. It get a notification about once a week that my sites are down for a couple minutes, but I have everything configured on the server to effectively resolve its own problems.

      On another note, I’ve been doing a lot of work with AWS in general since writing this article. At work I’m building custom Disaster Recovery Solutions using the AWS platform. I’m more and more blown away with its capabilities the more I use it. I’m responding to this comment from an AWS Workspaces virtualized Windows 7 machine that is full integrated with my office Directory and services. The possibilities are endless.

      If you have the technical know how to make the move to AWS you certainly won’t regret it…

      Regards,

      Brandon

      Reply
  3. Mukesh Nagi says

    September 12, 2016 at 4:57 am

    Brandon, I have been with Bluehost since the time i started my online business. I am quite happy with their services. Bluehost discounts and offers for the first timers are very much affordable. But in recent times i am following up with AWS and get to hear lots of good reviews and experiences. And this article with great insights are valuable and finding AWS worth a try. Thanks for sharing.

    Reply
  4. Eric Gish says

    October 13, 2016 at 2:35 pm

    Thank you! I plan to move to AWS this month. After all is said and done, and your free tier expired, do you end up paying less, or is it about the same but much better performance?

    Reply
    • Brandon Edward says

      October 13, 2016 at 9:15 pm

      Hi Eric,

      An EC2 Micro instance works out to be about $14 / Month with on demand pricing. You can cut this down considerably, as low as $6 / Month by purchasing a reserved instance. AWS has a sweet calculator that you can use to determine costs associated with any of their services. Here’s what you’re looking at for a Micro instance:

      EC2 Micro

      Reply
      • Doug Mehus says

        October 20, 2017 at 3:38 pm

        Great information and tip(s) on AWS’ EC2 VPS instance plans. By “3 Yr All Upfront Reserved,” is that effectively a prepaid three year hosting plan like many web hosting companies sell? What does the “reserved” mean, though?

        $6.03 per month is attractive, especially coming from AWS. How do they bill for storage and bandwidth though for a Micro instance, is it unlimited, up to certain limits for bandwidth?

        Cheers,
        Doug

        Reply
        • Brandon Edward says

          October 20, 2017 at 4:32 pm

          Reserved is paying up front. The rest is not very expensive at all. My web server runs about a dozen sites and my data transfer costs are usually under $1 and it’s $3 a month for a 30GB SSD drive.

          Reply
  5. Alex Warner says

    April 15, 2017 at 8:26 pm

    I’m late to the discussion but I’m doing the same thing. Over the years my website has grown to include a web applications and BH just isn’t cutting it. I recommend using the Bitnami LAMP Stack and their cloud hosting service on top of your AWS Instance. It’s free if you only have one instance and their documentation is excellent. Definitely do the reserved instance. I did a 3-year T2 Micro and it’s actually cheaper than BH! Ditching the cPanel is like taking the training wheels off your bike. There’s a whole world of amazing useful tools you can get through NPM, Composer, GitHub. And my whole site doesn’t go down because some dipsh*t on the same box as me at BH accidentally executed an infinite while loop and brought the whole server crashing down.

    Reply
  6. YInka says

    October 10, 2017 at 5:16 pm

    Thanks Brandon for the write up. I have been with BH for 3 years now and my site speed is very slow and not to talk of when I launch my mobile app. I just created a free account with AWS and I am planning on migrating from BH to AWS. My BH email sometimes not delivered to certain mail provider and lots of spam.
    I would certainly need help in migrating to AWS

    Reply
    • Brandon Edward says

      October 14, 2017 at 11:47 pm

      No problem. Good luck on your move. It’s so worth it. I’ve been running on AWS for more than a year now with no issues to report!

      Reply
  7. audioscavenger says

    January 17, 2018 at 8:45 pm

    Great post, you convinced me to give it a try. Did you also install mysql etc yourself? RDS is not free.
    Did you just use the EBS SSD to store everything or did you try the S3 service ?
    tx

    Reply

Leave a Reply Cancel reply

A Little Love?

Stalk Me

  • Email
  • Facebook
  • LinkedIn
  • Pinterest
  • RSS
  • Tumblr
  • Twitter
  • YouTube

Never Miss a Post


The Best of Freewheelings.com

  • Finding Into the Wild's Magic Bus
  • Motorcycle to South America
  • Alaska Highway by Volkswagen Bus
  • Salmon Fishing in Alaska
  • Hitchhiking Tales
  • Dog Sled Alaska
  • Tales From Mother India

You check out my sponsers and I get to eat, pretty neat right?

Popular Posts

By Tag

Alaska alaska highway alaska marine highway system ALCAN alternative energy Asia Beaches Belize biogas digesters blogsherpa Border C Border Crossings cordova Delhi Denali Digital Nomad Digital Nomad WordPress El Salvador fairbanks Fiji fishing Food and Drink freewheelings5 goldstream kennel Guatemala hitchhiking Honduras india into the wild Japan Languages magic bus Marine Highway Mayan Ruins Mexico Motorcycle New Zealand Nicaragua Panama prince william sound Rafting Sled Dogs usa volkswagen Working on the Road

Connect

  • Facebook
  • Pinterest
  • Twitter

Contact

  • Email
  • Work With Us

  • Guest Posts
  • Advertising
  • Services

  • Consulting
  • Dive In

  • Life
  • Travel
  • Technology
  • Search Me

    © Copyright 2015 Freewheelings Enterprises, LLC · All Rights Reserved