There are dozens if not hundreds of hosting providers out there these days so how do you go about choosing the right one for you?
In the early days of my foray into blogging I utilized Google’s Blogger for the first six months. I then decided to move to GoDaddy’s (shared) managed hosting which wasn’t as bad as some reviews would have you believe. A year later I decided to leave GoDaddy for RIMU Hosting. I left behind managed hosting for an un-managed CentOS Linux VPS (Virtual Private Server). While I was a former IBM AIX System Administrator and Linux enthusiast I wasn’t quite prepared for the effort required to setup and manage a simple Linux web server. While I enjoyed the challenge it took me quite sometime to get everything automated. As the traffic to my blog and the discussion forums grew I started running into the memory and bandwidth limitations of the plan I was using from RIMU so I decided to switch to Linode after reading some positive review (such as this one). I’m happy to say I’ve been using Linode for almost 18 months, since October 2011, and have never had any issues or problems.
There have been a number of significant upgrades at Linode over the past few months, so much so that I thought I would take a second to detail them here and shamelessly plug my referral link at the same time.
Linode NexGen: RAM Upgrade
Linode literally left the best for last since most virtual workloads are memory constrained. They are essentially bumping everyone up one level, a Linode 512 becomes a Linode 1G, a Linode 1024 becomes a Linode 2GB, so on and so forth. It should be noted that they are also increasing their pricing by $0.05 per month, example the Linode 1G is $20.00 and not $19.95.
Plan | RAM | Disk | XFER | CPU | Price |
---|---|---|---|---|---|
Linode 1G | 1 GB | 24 GB | 2 TB | 8 cores (1x priority) | $20 / mo |
Linode 2G | 2 GB | 48 GB | 4 TB | 8 cores (2x priority) | $40 / mo |
Linode 4G | 4 GB | 96 GB | 8 TB | 8 cores (4x priority) | $80 / mo |
Linode 8G | 8 GB | 192 GB | 16 TB | 8 cores (8x priority) | $160 / mo |
Linode 16G | 16 GB | 384 GB | 20 TB | 8 cores (16x priority) | $320 / mo |
Linode 24G | 24 GB | 576 GB | 20 TB | 8 cores (24x priority) | $480 / mo |
Linode 32G | 32 GB | 768 GB | 20 TB | 8 cores (32x priority) | $640 / mo |
Linode 40G | 40 GB | 960 GB | 20 TB | 8 cores (40x priority) | $800 / mo |
Linode NextGen: The Hardware
Linode has upgraded their hosts with two Intel Sandy Bridge E5-2670 processors. The E5-2670 is at the high end of the power-price-performance ratio and each E5-2670 enjoys 20 MB of cache and has 8 cores running at 2.6 GHz. There’s a lot of processing power behind that virtual server depending on your needs.
Linode Nextgen: The Network
Linode has deployed a new Cisco Nexus 7000 and 5000 topology (very similar to the topology that I personally use) in their data centers. “To top things off we’ve increased the amount of outbound transfer included with all plans by 1,000%. That’s right, 10 times the included transfer!”
Linode 512 upgraded from 200GB to 2000GB (2TB)
Linode 1G upgraded from 400GB to 4000GB (4TB)
Linode 2G upgraded from 800GB to 8000GB (8TB)
Linode 4G upgraded from 1600GB to 16000GB (16TB)
Linode 8G upgraded from 2000GB to 20000GB (20TB)
Storage increased by 20%
Linode 512 goes from 20GB to 24GB
Linode 1GB goes from 40GB to 48GB
Linode 2GB goes from 80GB to 96GB
Linode 4GB goes from 160GB to 192GB
Linode 8GB goes from 320GB to 384GB
Linode 12GB goes from 480GB to 576GB
Linode 20GB goes from 800GB to 960GB
My Thoughts
There’s definitely been quite a few changes over at Linode so I wondered what those changes might have done to performance. At the surface it certainly appears that the average Linode customer is now getting more. We’re getting 100% more memory, 20% more storage, 1,000% more bandwidth. So how what percent of a performance increase can we expect in processing?
We’ll I decided to run some UnixBench tests and compare these new tests with some previous results I posted in an article entitled Linode VPS Hosting I posted back in October 2011.
I started writing this article back in April 2013. That was before the Linode Manager password reset, which was explained by the security breach that was disclosed shortly thereafter. Throughout that time I’ve struggle to get performance numbers anywhere near what I captured in October 2011. I even attempted to engage Linode support and while they were cordial they gave me the typical ‘we can move you to a new host’ response without really engaging in an in-depth discussion around the horrendous performance numbers. I would write four or five paragraphs to which they would respond with one or two liners.
October 2011 Hardware
System: | li366-32: GNU/Linux | |
OS: | GNU/Linux — 3.0.4-linode38 — #1 SMP Thu Sep 22 14:59:08 EDT 2011 | |
Machine: | i686: i386 | |
Language: | en_US.utf8 (charmap=”UTF-8″, collate=”UTF-8″) | |
CPUs: | 0: | Intel(R) Xeon(R) CPU L5520 @ 2.27GHz (4522.0 bogomips) Hyper-Threading, MMX, Physical Address Ext |
1: | Intel(R) Xeon(R) CPU L5520 @ 2.27GHz (4522.0 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
2: | Intel(R) Xeon(R) CPU L5520 @ 2.27GHz (4522.0 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
3: | Intel(R) Xeon(R) CPU L5520 @ 2.27GHz (4522.0 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
Uptime: | 11:06:54 up 14 min, 1 user, load average: 0.05, 0.04, 0.05; runlevel 3 |
May 2013 Hardware
System: | earth.michaelfmcnamara.com: GNU/Linux | |
OS: | GNU/Linux — 3.8.4-linode50 — #1 SMP Mon Mar 25 15:50:29 EDT 2013 | |
Machine: | i686: i386 | |
Language: | en_US.utf8 (charmap=”UTF-8″, collate=”UTF-8″) | |
CPUs: | 0: | Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (4000.1 bogomips) Hyper-Threading, MMX, Physical Address Ext |
1: | Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (4000.1 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
2: | Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (4000.1 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
3: | Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (4000.1 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
4: | Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (4000.1 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
5: | Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (4000.1 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
6: | Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (4000.1 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
7: | Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (4000.1 bogomips) Hyper-Threading, MMX, Physical Address Ext | |
Uptime: | 21:42:19 up 9 days, 14:07, 1 user, load average: 0.18, 0.10, 0.06; runlevel 3 |
Here are the performance numbers of each side by side;
Test | Score | Unit | Time | Iters. | Baseline | Oct 2011 | May 2013 |
---|---|---|---|---|---|---|---|
Dhrystone 2 using register variables | 16345243.3 | lps | 10.0 s | 7 | 116700.0 | 1400.6 | 827.5 |
Double-Precision Whetstone | 2455.5 | MWIPS | 10.1 s | 7 | 55.0 | 446.5 | 301.2 |
Execl Throughput | 1179.1 | lps | 30.0 s | 2 | 43.0 | 274.2 | 184.7 |
File Copy 1024 bufsize 2000 maxblocks | 342283.0 | KBps | 30.0 s | 2 | 3960.0 | 864.4 | 139.6 |
File Copy 256 bufsize 500 maxblocks | 87956.8 | KBps | 30.0 s | 2 | 1655.0 | 531.5 | 91.9 |
File Copy 4096 bufsize 8000 maxblocks | 958654.2 | KBps | 30.0 s | 2 | 5800.0 | 1652.9 | 341.2 |
Pipe Throughput | 488607.7 | lps | 10.0 s | 7 | 12440.0 | 392.8 | 58.3 |
Pipe-based Context Switching | 32606.8 | lps | 10.0 s | 7 | 4000.0 | 81.5 | 23.1 |
Process Creation | 2233.1 | lps | 30.0 s | 2 | 126.0 | 177.2 | 108.3 |
Shell Scripts (1 concurrent) | 2560.1 | lpm | 60.0 s | 2 | 42.4 | 603.8 | 402.4 |
Shell Scripts (8 concurrent) | 970.0 | lpm | 60.0 s | 2 | 6.0 | 1616.7 | 1115.7 |
System Call Overhead | 451501.4 | lps | 10.0 s | 7 | 15000.0 | 301.0 | 185.4 |
System Benchmarks Index Score: | 495.1 | 191.6 |
You can find the actual HTML results file online for October 2011 and May 2013.
It’s obvious that quite a few things have changed since I first tested Linode back in October 2011. The original testing was performed on a Linode 512 with 4 Intel Xeon L5520 @ 2.27GHz (4522.0 bogomips). The most recent testing was performed on a Linode 2048 with 8 Intel Xeon CPU E5-2630L 0 @ 2.00GHz (4000.1 bogomips). While the original hardware configuration offered 4 cores the latest hardware offering provides 8 cores. I’ve been using the 1 parallel process testing numbers to help gauge the performance of a single core. The disk IO numbers look very poor but when I perform a basic disk IO test everything seems pretty good.
[root@earth ~]# dd if=/dev/zero of=test bs=64k count=48k conv=fdatasync 49152+0 records in 49152+0 records out 3221225472 bytes (3.2 GB) copied, 45.4488 s, 70.9 MB/s
Perhaps the original data I collected in October 2011 was flawed, perhaps I was the only user on that physical server and now years later the Linode environment has become much more crowded – similar to Comcast Cable Modem Internet. It worked great the first few years but after everyone in the neighborhood started subscribing the performance really tanked.
I could probably use tools like Bonnie++ and Nbench to help validate my results but I wouldn’t be able to compare them against any previous results. I’d probably only use these tools if I was going to find a new hosting provider and wanted to benchmark their environments against what I have available today. I even went as far as to download UnixBench v5.1.3 and re-ran my tests only to score a 149.2 compared to the original result of 191.6.
With all that said the server and websites appear to be running fine. The Web Page Performance tests for this site are pretty decent, 2.944 seconds (first view) and 1.623 seconds (second view). Perhaps the performance numbers will change when my server gets migrated to a host with the new Intel Xeon E5-2670 CPUs.
In summary I’m not sure what to say… I had thought this article would be an easy post to write but the performance numbers followed by the security incident have left me wondering if Linode is the hosting provider for me. Performance benchmarking within a virtual environment is really difficult given all the different components and the ever changing workloads.
Cheers!
EtherealMind says
Michael
Because of the time it takes to manage a Linux box and associated actions, I no longer use hosting such as Linode (who I tried for a while) and have moved to managed services for WordPress. The provider delivers security, backups, performance, scaling and more for a reasonable fee and I have plenty of time for writing more content. Web performance is much faster than I was able to achieve on my own & uptime has is much improved.
greg
Michael McNamara says
Hi Greg,
I would definitely agree with you, there are a number of managed providers out there that can take care of everything for you freeing up your time for more interesting pursuits. Perhaps one day I’ll reach that point myself but for now I enjoy managing my own server and the multiple projects (not just WordPress) that I’m hosting on it. If I ever end up with a site as large as EtherealMind then I’ll definitely look into managed hosting.
Thanks for the comment!
Arvind says
Hi Greg,
May I know which managed service you are using. I am starting a blog soon and looking at Dreamhost and Linode for hosting my blog.
—
Arvind
Michael McNamara says
I’m not sure which hosting provider Greg is using today but I believe he recommends WordPress.com in his new book,
http://etherealmind.com/%E2%97%8E-announcing-the-arse-first-method-of-technical-blogging-ebook/
Cheers!
EtherealMind says
Currently using a company called WebSynthesis ( http://websynthesis.com/ ) that I would recommend however you must be using Genesis themes so it does have some limitations for some people. And it’s not free.