VPS Showdown – September 2019 – DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr

September already! Linode was tangled up with StandardJS’s funding experiment.
DigitalOcean added some new managed databases (still no MongoDB).

Nothing else to report from the other providers, but honestly, month to month,
most of the other providers don’t usually have a ton of movement.

Sticking to previous months, I’m including the $6 high frequency plan from
Vultr. Was planning to expand a bit to include both their $5 and $6 plans, but
was extremely short on time with a ton of travel this month.

Next month, I’m hoping to include both Vultr plans as well as expanding a bit to
include the lower priced ($3.50/month) Lightsail instance. Also probably about
time to add in another provider (ton on my list, so not sure which it will be).

As per usual, I spun up 3 instances with each provider, as close to the New York
/ New Jersey area. All are running Ubuntu 18.04 LTS and the results are
averaged.

Overview

  DigitalOcean Lightsail Linode UpCloud Vultr
Location New York City 1 Virginia, Zone A Newark, NJ Chicago #1 New Jersey
RAM 1 GB 1 GB 1 GB 1 GB 1 GB
CPU 1 Core 1 Core 1 Core 1 Core 1 Core
Storage 25 GB SSD 40 GB SSD 25 GB SSD 25 GB SSD 32 GB NVMe
Transfer 1 TB 2 TB 1 TB 1 TB 1 TB
Base Price $5/month $5/month $5/month $5/month $6/month
Backups $1/month N/A $2/month $0.06/GB $1.20/month
Transfer Overage $0.01/GB $0.09/GB $0.02/GB $0.056/GB $0.01/GB
Load Balancer $10/month $18/month $10/month N/A N/A

CPU Info

  DigitalOcean Lightsail Linode UpCloud Vultr
CPU MHz 1798.61 2400.00 2366.66 3033.33 3792.00
Cache Size (KB) 30720.00 30720.00 16384.00 16384.00 16384.00
BogoMips 2398.33 3200.33 3199.67 4066.33 5056.33

CPU

  DigitalOcean Lightsail Linode UpCloud Vultr
Events per Second 593.80 857.70 577.71 1061.39 1330.58
Minimum (ms) 1.42 1.03 1.27 0.93 0.74
Average (ms) 1.72 1.16 2.39 0.94 0.75
Maximum (ms) 2.69 4.02 32.19 3.70 1.22

Memory (Read)

  DigitalOcean Lightsail Linode UpCloud Vultr
Ops per Second 2275087.07 823467.36 2733439.95 4530803.93 5419702.37
Minimum (ms) 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.00 0.00 0.00 0.00 0.00
Maximum (ms) 0.77 3.53 22.21 1.48 0.89

Memory (Write)

  DigitalOcean Lightsail Linode UpCloud Vultr
Ops per Second 2288821.92 823648.73 2618554.59 4529235.20 5375203.09
Minimum (ms) 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.00 0.00 0.00 0.00 0.00
Maximum (ms) 0.90 0.40 25.75 0.97 0.51

File I/O

  DigitalOcean Lightsail Linode UpCloud Vultr
Reads per Second 1704.06 1196.65 1193.97 4164.35 4892.67
Writes per Second 1135.98 797.75 795.98 2776.21 3261.78
Fsyncs per Second 3624.81 2545.20 2541.81 8877.08 10431.57
Minimum (ms) 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.16 0.22 0.45 0.06 0.05
Maximum (ms) 12.26 8.68 38.21 8.00 3.69

MySQL

  DigitalOcean Lightsail Linode UpCloud Vultr
Transactions per Second 2140.33 2228.33 2206.67 4565.00 6458.67
Queries per Second 42806.67 44566.67 44133.33 91300.00 129173.33
Minimum (ms) 2.76 2.33 2.41 1.59 1.20
Average (ms) 4.84 4.49 8.01 2.19 1.55
Maximum (ms) 43.23 43.56 95.04 21.23 14.81

Redis

  DigitalOcean Lightsail Linode UpCloud Vultr
PING_INLINE 30294.42 56447.68 30901.99 68360.43 64599.93
PING_BULK 26075.13 56898.28 32379.20 68083.95 65017.96
SET 30732.22 56716.93 33632.04 68469.71 64793.10
GET 30705.80 56949.94 35341.53 67831.33 64146.78
INCR 30670.83 57233.28 35559.77 68409.43 64283.64
LPUSH 31239.16 55028.52 36531.38 68655.29 65575.04
RPUSH 31479.82 56685.11 34850.14 68420.03 64941.11
LPOP 31117.95 55791.56 33747.36 67925.17 64147.94
RPOP 30949.76 55789.30 38058.17 67953.44 64422.79
SADD 30960.14 56919.70 37847.86 67959.28 63494.07
HSET 31211.43 55249.30 36289.83 68538.45 64624.49
SPOP 30837.29 56980.51 36523.41 68170.00 64837.29
LRANGE_100 (first 100 elements) 15144.57 30351.19 14813.10 36047.26 39428.10
LRANGE_300 (first 300 elements) 6393.10 12048.82 7014.77 14726.08 17293.25
LRANGE_500 (first 500 elements) 4600.18 8502.01 4599.66 10156.09 12361.84
LRANGE_600 (first 600 elements) 3481.02 6736.29 3543.80 8055.57 9999.39
MSET (10 keys) 26046.02 40746.90 26466.03 53080.03 54989.23

Speed Test

  DigitalOcean Lightsail Linode UpCloud Vultr
Distance (km) 2435.00 2090.30 2421.44 1456.73 2395.89
Latency (ms) 44.536 40.927 47.761 35.353 44.915
Download (Mbit/s) 1078.93 57.28 174.72 139.21 1218.24
Upload (Mbit/s) 493.59 98.99 341.36 435.00 469.25

Apache Benchmark (against nginx on the servers)

  DigitalOcean Lightsail Linode UpCloud Vultr
Requests per Second 157.30 145.85 162.41 164.71 157.07
Time per Request (ms) (mean) 3181.63 3439.88 3088.26 3047.21 3196.72
Transfer Rate (Kbyte/sec) 131.95 122.26 136.13 138.17 131.75

Conclusion

Pretty consistent with recent months, the Vultr high frequency instance crushed
it in nearly every category. UpCloud shined with a lot of the Redis operations
as well as the Apache Benchmarks.

Thought the speed test results this month were pretty interesting, with both
DigitalOcean and Vultr putting up download speeds over 1000 MBit/second and the
rest of the bunch below 100 MBit/second.

Something else worth noting. I actually do the creation and tearing down of the
server instances manually every month, and I tell ya, the DigitalOcean user
interface is hands down the best of the batch. The ease of both creation and
removal of instances is damn near frictionless.

As mentioned, hoping to expand the post next month a bit as I haven’t done so in
a minute. And as always, if you found this post helpful in your decision making
process and are planning to sign up for one of the providers mentioned, please
do so using one of my referral links below!

Josh Sherman - The Man, The Myth, The Avatar

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.


If you found this article helpful, please consider buying me a coffee.