This post was originally posted by Brian Christner on his blog. Brian is an American living in beautiful Switzerland. He is the Swiss Army knife of cloud computing specializing in Linux, Docker, IaaS, PaaS, or anything with a .io domain name. He enjoys riding his motorcycle, the outdoors, and open source projects. Follow Brian on his blog or connect with him on Linkedin or Twitter.
I took the migration one step further. I not only migrated to Digital Ocean but I also converted from Apache webserver to NGINX. I can honestly say I am over the moon with the performance improvement and the sheer control I have over my server now.
The troubling point with Shared Hosting is well - it is shared. I had quite some performance issues while using InMotion Hosting. I originally started with a normal hosting account until my website grew to the point it needed more performance.
After talking a long time with a Sales Consultant I decided to buy a VPS (Virtual Private Server) account. Since I work every day with Virtual Machines/Server I thought this was a no brainer. Boy was I wrong!
Performance was all over the place. Even though it was a VPS server I had limited permissions on the server itself to tune or install software.
After sometime I didn't have time to maintain the website so I downgraded the hosting to a Reseller Account since I wanted to keep a few sites parked here.
Since my site was down from 4,000 hits a day to roughly 400 I thought this was sufficient step to park my website while keeping my Google rankings.
Almost every time I logged into my site it was down or the load times were off the scale. I couldn't believe how loading the site degraded so badly. I called the support desk and they informed me that my site was using to much resources. When I asked what specifically was wrong with performance they couldn't answer.
It was time to take action! Shared Hosting is great for small websites with little traffic. Once your site grows and you have a lot of content and several hundred visitors it is time to consider an upgrade. I checked the performance on my VPS and it was insanely slow.
So, I decided that performance testing was the way to get the answers I seek.
This is not a 1 to 1 comparison just at the hosting level, but the comparison covers both a migration to Digital Ocean and switching to the webserver NGINX. If and when you plan a migration, this a the perfect opportunity to tweak performance and do some house keeping.
So I installed a new droplet which is what Digital Ocean calls an instance. I chose an image containing Wordpress with Ubuntu. I then migrated this image from the Apache Server to the NGINX. Digital Ocean actually has a great instructions for Apache to NGINX migrations.
OK, OK, enough of the build up show us the facts. Right?
Before with brianchristner.io running on InMotion Hosting, Wordpress, on a Reseller account with very few plugins. This site is a very bog standard installation with very few posts and images.
I ran the performance tests using Load Impact in order to get unbiased 3rd party results. Load Impact is a standalone service which measures website performance from different locations. I use this tool quite frequently for other projects as well.
Digital Ocean running 2WheelTuesday.com with NGINX with over 2000 Articles and 3600 pictures.
Conclusion: For less money than the Reseller package you get a shit ton better performance. As you see in the charts the Shared Hosting is sitting around 6.5 seconds load time versus the 2 seconds load time from Digital Ocean. It's also worth noting how much more consistent Digital Oceans graph is in comparison to InMotion.
Digital Ocean $10 per month -
InMotion Reseller R-1000 $13.99 per month
So a few bucks a month cheaper and far better performance with Digital Ocean.
One huge advantage is the ability to easily grow or shrink the size of your server with ease. The only advantage with the Shared Hosting is most applications are built to install automatically, where as by Digital Ocean you must setup most applications yourself. The advantage with this is you can customize all the settings for your particular use.
Let's talk about the Apache vs NGINX configuration. I have migrated to NGINX from Apache. I do admit it required a lot of configuration in order to get the NGINX running exactly how I wanted it. Once it is up and running I am amazed at the performance improvement and the ability to handle multiple connections.
This is a great web server. I have used it for a very long time without complaints. It works right out of the box and it is easy to configure and use. The disadvantage is that Apache is a bit of a memory hog and tends to use a lot of memory when your website starts receiving a lot of requests.
The new kid on the block and one the fastest growing webserver on the market. Also, to mention Worpress.org is now using NGINX as their webserver to put things in perspective. The pros are huge with NGINX handling multiple connections with ease all while maintaining a very small resource footprint. The con is it requires a lot of configuration to get all your plugins running and tuned the way you want. But once running you will be smiling ear to ear with the performance gains.