$10 Showdown: Linode vs. DigitalOcean vs. Amazon Lightsail
Amazon caught me off guard this week with a VPS offering that mirrors the pricing of DigitalOcean and potentially rivals the quality of Linode.
Curious how things compared, I am revisiting my last Linode vs. DigitalOcean post from July 2016 and bringing Lightsail in the mix.
Let the best VPS win!
Overview
Even though Lightsail is offering a $5 plan, Linode does not. Because of this, I am comparing hosting plans at the $10 price point. Also, all of the benchmarks were generated on Ubuntu 16.04 LTS system.
| | Linode | DigitalOcean | Lightsail |
| ----------- | :---------: | :----------: | :---------: |
| Memory | 2GB | 1GB | 1GB |
| Processor | 1 Core | 1 Core | 1 Core |
| Storage | 24GB SSD | 30GB SSD | 30GB SSD |
| Transfer | 2TB | 2TB | 2TB |
| Overage | $0.02/GB | $0.02/GB | $0.09/GB |
| Network In | 40Gbps | 1Gbps | ??? |
| Network Out | 125Mbps | 1Gbps | ??? |
| Price | $10/month | $10/month | $10/month |
| | $0.015/hour | $0.015/hour | $0.013/hour |
If simply comparing plans, Linode wins — if you need more RAM — but lacks in storage compared to both DigitalOcean and Amazon Lightsail.
What’s interesting to note is that Lightsail’s network overage is 4.5x that of Linode and DigitalOcean. That said, if you only need a server for a couple of hours, Lightsail’s pricing is a few fractions of a cent better.
Unfortunately, I don’t have a reliable number for Amazon’s network throughput for Lightsail. There is a network comparison later on though, so all is not lost.
CPU
sysbench — test=cpu run| | Linode | DigitalOcean | Lightsail |
| ---------------- | -------: | -----------: | ---------:|
| Number of Events | 10,000 | 10,000 | 10,000 |
| Execution Time | 12.6811s | 14.8737s | 11.5520s |
| Minimum Request | 1.24ms | 1.37ms | 1.03ms |
| Average Request | 1.27ms | 1.49ms | 1.16ms |
| Maximum Request | 3.78ms | 13.54ms | 2.19ms |
Lightsail is off to a good start, clocking in a full second below Linode and even more so against DigitalOcean.
Memory (read)
sysbench — test=memory run| | Linode | DigitalOcean | Lightsail |
| ---------------- | --------------: | -----------: | ----------: |
| Number of Events | 104,857,600 | 104,857,600 | 104,857,600 |
| Execution Time | 47.7652s | 96.0324s | 72.7207s |
| Minimum Request | 0.00ms | 0.00ms | 0.00ms |
| Average Request | 0.00ms | 0.00ms | 0.00ms |
| Maximum Request | 9.72ms | 8.76ms | 19.83ms |
| MB/sec | 2,143.82 | 1,066.31 | 1,408.13 |
Linode reads from memory twice as fast as DigitalOcean, and Lightsail ended up a distant 2nd to Linode. Perhaps something to be said about having more RAM?
Memory (write)
sysbench — test=memory — memory-oper=write run| | Linode | DigitalOcean | Lightsail |
| ---------------- | --------------: | -----------: | ----------: |
| Number of Events | 104,857,600 | 104,857,600 | 104,857,600 |
| Execution Time | 47.0562s | 74.9946s | 72.1367s |
| Minimum Request | 0.00ms | 0.00ms | 0.00ms |
| Average Request | 0.00ms | 0.00ms | 0.00ms |
| Maximum Request | 9.33ms | 4.05ms | 0.33ms |
| MB/sec | 2,176.12 | 1,084.67 | 1,419.53 |
Aside from DigitalOcean, the other hosting providers showed write speeds consistent with the read speeds. What’s interesting is that Amazon’s maximum request was absurdly low compared to Linode, yet somehow couldn’t process as many megabytes per second.
File I/O
sysbench — test=fileio prepare
sysbench — test=fileio — file-test-mode=rndrw run
sysbench — test=fileio cleanup| | Linode | DigitalOcean | Lightsail |
| ---------------- | --------------: | -----------: | ----------: |
| Number of Events | 10,000 | 10,000 | 10,000 |
| Execution Time | 0.9361s | 1.8158s | 4.9561s |
| Minimum Request | 0.00ms | 0.00ms | 0.00ms |
| Average Request | 0.04ms | 0.08ms | 0.14ms |
| Maximum Request | 4.10ms | 4.53ms | 3.52ms |
| Requests/sec | 10,682.79 | 5,507.67 | 2,017.73 |
Linode’s SSD is nearly twice as fast as DigitalOcean’s. DigitalOcean’s SSD is more than double the speed of Amazon Lightsail’s.
Question is, do you want more space or faster disk access?
OLTP with MySQL
mysql -uroot -e “CREATE DATABASE sbtest;” &&
sysbench — test=oltp — oltp-table-size=1000000 — mysql-user=root prepare &&
sysbench — test=oltp — oltp-table-size=1000000 — mysql-user=root run &&
sysbench — test=oltp — oltp-table-size=1000000 — mysql-user=root cleanup| | Linode | DigitalOcean | Lightsail |
| ----------------------- | -------: | -----------: | -----------: |
| Number of Events | 10,000 | 10,000 | 10,000 |
| Execution Time | 31.6980s | 54.2631s | 46.3136s |
| Minimum Request | 2.27ms | 3.10ms | 2.22ms |
| Average Request | 3.16ms | 5.42ms | 4.63ms |
| Maximum Request | 15.77ms | 40.84ms | 85.15ms |
| Read/write Requests/sec | 5,994.07 | 3,501.46 | 4,097.89 |
Amazon performed better than DigitalOcean but not nearly as well as Linode. Amazon had slightly better minimum request time, but the maximum request time was double that of DigitalOcean’s. Linode’s min and max request times have a significantly tighter range.
Network
Network speed benchmarks are generated by speedtest-cli.
Out of the gate, DigitalOcean touts a significantly faster network, and I don’t have any numbers for Amazon Lightsail. If anybody knows what Amazon is offering network-wise with Lightsail, please comment below.
| | Linode | DigitalOcean | Lightsail |
| ----------------- | -------: | -----------: | --------: |
| Download Mbit/sec | 1,485.73 | 844.65 | 161.76 |
| Upload Mbit/sec | 285.61 | 441.93 | 385.58 |
SpeedTest.net picks different servers each time, so it’s hard to get an apples to apples comparison. That said, Amazon’s download speed was pretty horribad compared to both DigitalOcean and Linode. Upload on the other hand, DigitalOcean was the fastest with Lightsail slightly behind and Linode rounding out the three.
Conclusion
Not too far off from my previous posts, Linode seems to be the all-around best bet. DigitalOcean and Amazon Lightsail are for the most part equivalent at the $10 price point.
Between DigitalOcean and Lightsail, you would need to prioritize between memory and file I/O. Based on Amazon’s overage pricing, I would favor DigitalOcean.
A couple of non-benchmark things worth mentioning. First, and perhaps this is more of a self-serving sentiment, but Amazon does not offer any sort of affiliate program for Lightsail or any other of their web services.
The other thing is that Amazon does not offer free DNS hosting. Their service is negligibly priced at 40 cents per million queries. That said, I have no idea how many DNS queries per month any of my sites do. I do know that I don’t spend anything on DNS hosting with Linode or DigitalOcean or even CloudFlare.
Amendment: I ended up focusing on the fact that Amazon is charging at all for DNS and failed to realize that you do get up to 3 DNS zones and unlimited records for free. You get 3 million queries per month and anything above that is $0.40 per million queries. Still not entirely free but based on your DNS volume it is probably sufficient.
As always, your mileage may vary based on your own requirements. As for me, I’m still happy with Linode, and Amazon’s recent VPS offering doesn’t sway me at all.
And as always if you end up signing up, hit me up on Twitter and let me know about it!
Originally published at joshtronic.com on December 1, 2016.
Linode is grateful for Josh’s comparison and his permission to post this on our Linode Cube. Feel free to leave comments to either Josh or Linode below.