VPS Showdown – Singapore – July 2020 – DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr

By request, we’re revisiting the Singapore data centers for this month’s VPS
Showdown.

Incidentally, while not part of the benchmarks currently, Linode did expand
their S3-compatible Object Storage to the Singapore data center. They also
turned 17 in mid-June with their usual slew of announcements, and upgrades for
existing customers.

Sadly, and as expected, AWS is still lagging behind the pack in terms of support
for Ubuntu 20.04 LTS, so this month’s benchmarks are still on Ubuntu 18.04 LTS.
Per the usual, I’ve spun up three instances with each provider and averaged the
results.

Overview

  DigitalOcean Lightsail Linode UpCloud Vultr
Location Singapore 1 ap-southeast-1 Singapore, SG SG-SIN1 Singapore
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 SSD
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 $2/month $1.20/month
Transfer Overage $0.01/GB $0.09/GB $0.01/GB $0.01/GB $0.01/GB
Load Balancer $10/month $18/month $10/month N/A $10/month
Block Storage $0.10/GB $0.10/GB $0.10/GB $0.223/GB $0.10/GB
Object Storage Yes Yes Yes No Yes
Managed Databases Yes Yes On 2020 Roadmap No No
2FA/MFA Yes Yes Yes Yes Yes
One-click Apps Yes Yes Yes No Yes
Custom Images Yes No Yes Yes Yes

CPU Info

  DigitalOcean Lightsail Linode UpCloud Vultr
CPU MHz 2200.00 2398.21 2066.66 2995.31 3792.00
Cache Size (KB) 4096.00 30720.00 512.00 16384.00 16384.00
BogoMips 2933.00 3200.33 2666.67 3995.00 5056.33

CPU

  DigitalOcean Lightsail Linode UpCloud Vultr
Events per Second 772.51 865.64 1229.91 1124.54 1166.42
Minimum (ms) 1.17 1.06 0.75 0.82 0.74
Average (ms) 1.29 1.15 0.81 0.90 0.87
Maximum (ms) 4.34 2.67 7.71 3.06 3.26

Memory (Read)

  DigitalOcean Lightsail Linode UpCloud Vultr
Ops per Second 3119758.47 832212.29 3423331.05 4342445.14 4677596.32
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.97 0.44 1.52 0.39 1.97

Memory (Write)

  DigitalOcean Lightsail Linode UpCloud Vultr
Ops per Second 3166084.42 828554.36 3444632.03 4359066.80 4755396.89
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.63 2.35 1.12 0.85 1.57

File I/O

  DigitalOcean Lightsail Linode UpCloud Vultr
Reads per Second 993.53 1494.47 1609.36 2724.36 3542.82
Writes per Second 662.34 996.29 1072.90 1816.23 2361.85
Fsyncs per Second 2115.01 3181.13 3421.40 5803.29 7550.80
Minimum (ms) 0.00 0.00 0.00 0.00 0.00
Average (ms) 0.27 0.17 0.16 0.10 0.08
Maximum (ms) 484.32 8.94 100.93 12.55 8.94

MySQL

  DigitalOcean Lightsail Linode UpCloud Vultr
Transactions per Second 1370.33 2367.33 2320.67 3687.67 4487.00
Queries per Second 27406.67 47346.67 46413.33 73753.33 89740.00
Minimum (ms) 4.10 2.35 2.66 1.60 1.45
Average (ms) 7.96 4.23 4.32 2.91 2.39
Maximum (ms) 990.31 29.77 18.36 26.93 18.02

Redis

  DigitalOcean Lightsail Linode UpCloud Vultr
PING_INLINE 36670.35 56333.11 60130.16 55415.64 48111.17
PING_BULK 36273.71 55564.35 57748.04 53987.68 47719.40
SET 36106.62 56215.92 60939.24 54888.28 47413.16
GET 36089.19 56015.41 61141.29 54969.82 43797.94
INCR 36493.64 56532.38 61039.45 55985.21 45878.18
LPUSH 37443.91 55679.39 56574.93 56900.00 49110.07
RPUSH 36823.02 56563.12 57881.36 55565.57 47250.34
LPOP 36674.72 55387.85 55593.88 55987.53 47633.78
RPOP 36881.14 55533.89 60123.99 54917.53 47458.54
SADD 36685.26 56861.95 61361.03 54723.85 46555.66
HSET 37077.44 55401.97 57818.72 55939.35 48994.33
SPOP 35732.44 56508.86 57622.25 56861.04 47517.98
LRANGE_100 (first 100 elements) 20929.18 30097.23 23078.91 29268.74 27749.95
LRANGE_300 (first 300 elements) 8376.19 12085.97 8260.53 12786.10 12212.72
LRANGE_500 (first 500 elements) 6041.12 8445.55 5979.53 8941.63 8900.24
LRANGE_600 (first 600 elements) 4995.95 6709.91 4676.54 7021.85 7232.30
MSET (10 keys) 29803.45 40895.60 30144.91 49184.35 41703.80

Speed Test

  DigitalOcean Lightsail Linode UpCloud Vultr
Distance (km) 10.71 6.13 6.13 9268.67 1777.07
Latency (ms) 2.159 2.287 8.315 3.940 2.269
Download (Mbit/s) 3263.73 908.13 3046.09 952.50 1649.36
Upload (Mbit/s) 1970.16 909.85 2149.07 1044.15 2584.66

Apache Benchmark (against nginx on the servers)

  DigitalOcean Lightsail Linode UpCloud Vultr
Requests per Second 218.03 250.07 728.84 603.62 201.41
Time per Request (ms) (mean) 2500.75 2011.39 1376.97 1406.39 2552.27
Transfer Rate (Kbyte/sec) 182.70 209.78 611.41 506.36 168.96

Conclusion

While the Vultr High Frequency is still performing quite well for being only a
buck more, it seems like Linode’s focus on fleet stability and performance is
starting to show as they have began creeping up in the metrics.

DigitalOcean came out quite strong in terms of download speed with Vultr taking
the crown for uploads. While not being the fastest in either category
explicitly, their overall speed was quite impressive.

The distance for UpCloud and Vultr both seemed a bit off with this month’s speed
test, and I have to assume that’s due to the IP addresses allocated to those
instances may not have the correct geographical information associated with
them. Thinking maybe it’s best to drop that metric since it really doesn’t have
much bearing on things.

The thing to stand out to me this month is how exceptionally high DigitalOcean’s
maximum time metrics were. I’d much rather have a provider that has slower
overall metrics as long as the range of times is tighter.

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.