There has been a lot of talk in the several hosting-related Facebook groups I’m currently in. The same question always is there “Which one is better? DigitalOcean, Vultr, Linode, or UpCloud?“
Because of this, I’ve decided to put to the test (performance-wise) and do several tests. Here is the DigitalOcean vs Linode vs Vultr vs UpCloud for 2020.
DigitalOcean vs. Linode vs. Vultr vs. UpCloud
All of these cloud providers have been around for quite a bit, the oldest being Linode (2003), followed by DigitalOcean (2011), UpCloud (2011), and, Vultr (2014) respectively.
All of them have had quite a good reputation with some exceptions:
- DigitalOcean Killed Our Company
- Linode user credentials leaked
- Vultr recently (within the last 5-6 months) has been getting quite a lot of outages on their Sydney DC. Because of this, I moved all the clients hosted in the Sydney datacenter to Linode.
No provider is perfect, the one I have not gotten any problems with or any drama with is UpCloud.
Plans and Pricing
All of these cloud providers have identical pricing (in this plan), we are going to be testing the base pricing of each provider, the $5 plan.
We are going to be focusing on the basics, each provider, not all of them offer a lot more services.
DigitalOcean | Linode | UpCloud | Vultr | |
CPU | 1 vCPU | 1 vCPU | 1 vCPU | 1 vCPU |
RAM | 1 GB | 1 GB | 1 GB | 1 GB |
Storage | 25 GB SSD | 25 GB SSD | 25 GB SSD | 25 GB SSD |
Bandwidth | 1000GB | 1000GB | 1000GB | 1000GB |
Location | San Francisco | Fremont | San Jose | Los Angeles |
Price | $5 | $5 | $5 | $5 |
Visit |
CPU Benchmark
The script used to test the capabilities of each CPU was Sysbench.
CPU Info
DigitalOcean | Linode | UpCloud | Vultr | |
Model | Intel Xeon(R) E5-2650 v4 | AMD Epyc 7601 | Intel Xeon(R) Gold 6136 | Intel Haswell (Vultr hides the model) |
CPU Mhz | 2199.998 | 2199.998 | 2992.968 | 2399.996 |
Cache Size | 30,720K | 16,384K | 16,384K | 16,384K |
Raw data | Click Here | Click Here | Click Here | Click Here |
Right now based on the table above, I’m not going to make any assumptions but it’s quite interesting seeing Linode using AMD.
sysbench cpu --cpu-max-prime=10000 run
DigitalOcean | Linode | UpCloud | Vultr | |
Events per Second | 640.53 | 1261.68 | 1225.48 | 763.05 |
Time Average (ms) | 1.56 | 0.79 | 0.82 | 1.31 |
Linode and UpCloud were really close, not surprised, they are both using high-end CPUs. Vultr did a tad bit better than DO but, overall, not bad for being $5 (I’ve seen the worse performance on $10 VPS’s from other providers).
Memory Benchmark
Once again, we are using sysbench to benchmark memory performance.
sysbench memory --num-threads=4 run
DigitalOcean | Linode | UpCloud | Vultr | |
Operations/second | 2331158.67 | 2972168.24 | 4874369.80 | 3211715.80 |
Time Average (ms) | 0.00 | 0.00 | 0.00 | 0.00 |
Max Time (ms) | 35.87 | 16.07 | 16.31 | 20.04 |
UpCloud was able to take quite a lead with comparison to the other three, quite surprised.
Disk Benchmark
In this case, we are going to be using YABS (Yet Another Bench Script)
curl -sL yabs.sh | bash
Read and Write
DigitalOcean | Linode | UpCloud | Vultr | |
Read (512kb File) | 370.15 MB/s | 1.83 GB/s | 391.43 MB/s | 218.27 MB/s |
Write (512kb File) | 389.82 MB/s | 1.93 GB/s | 412.22 MB/s | 229.87 MB/s |
Total | 759.97 MB/s | 3.77 GB/s | 803.66 MB/s | 448.15 MB/s |
Without any thought, Linode is using NVME drives on their cheapest plan. I also know for a fact that Vultr uses NVME on their High-Performance VPS which costs an extra 20%, in this case, $6.
Second, comes UpCloud, they have somewhat average disk reads and writes, not bad. Similarly, DigitalOcean did just a bit worse than UpCloud, but it isn’t that noticeable.
Lastly, Vultr… They did pretty bad considering that UpCloud almost doubles the total read/write speeds… They gotta step up their game.
File I/O
Once again, Sysbench was used to get the following numbers:
DigitalOcean | Linode | UpCloud | Vultr | |
Read/s | 607.59 | 2115.51 | 3822.35 | 1668.14 |
Write/s | 405.06 | 1410.34 | 2548.23 | 1112.09 |
Fsync/s | 1296.16 | 4512.69 | 8153.98 | 3558.33 |
UpCloud crushed all of them, specially DigitalOcean, which was able to read/write/fsync 6.3x, 6.3x, and, 6.4x, respectively, times more than DO.
Network Benchmark
This time I’m going to be using the Speedtest-CLI by Ookla. (Server ID=6468)
speedtest --server-id=6468
DigitalOcean | Linode | UpCloud | Vultr | |
Upload | 609.94 Mbps | 809.25 Mbps | 877.68 Mbps | 863.94 Mbps |
Download | 709.33 Mbps | 833.63 Mbps | 639.41 Mbps | 898.37 Mbps |
Latency | 1.72 ms | 0.42ms | 3.02ms | 9.71ms |
Speedtest Server Location | Fremont | Fremont | Fremont | Fremont |
The table says it all, UpCloud had the fastest upload speed, meanwhile, Vultr had the fastest download speed. Linode (since their servers are in Fremont) had the lowest latency (ping). Unfortunately, DigitalOcean speeds weren’t on par with the rest, falling in 4th.
Bottom Line
Alright, so… Let’s make a quick overview of the tests:
- CPU Benchmark: Linode
- Memory Benchmark: UpCloud
- Disk Benchmark: Linode
- File I/O: UpCloud
- Network: Vultr/UpCloud
Personally, all of my sites and client sites are hosted on Vultr’s new high-performance VPS’s, which they are not being tested here, but soon I’ll compare Linode and Vultr’s new high-performance instances.
So… Based on these results, who would I pick?
Personally I like Linode and Vultr the most, but that’s only because I have used them the most. Now, I’m going to be experimenting with UpCloud a bit more, based on these results, they don’t play around. For the DigitalOcean fans, I just believe they aren’t the best, they used to, but (in my opinion) not anymore.
Now, if I had to choose between Linode and Vultr, Vultr would be my choice. They have a solid network, their servers are rock solid. Please note that’s just my opinion, based on my experience (personally, not the client’s experiences).
Regardless of my opinion, you cannot go wrong with any of them. I have clients that prefer to have their sites on DigitalOcean, others on Vultr, Linode, etc.