VPS Showdown - Singapore - July 2020 - DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr
This post is old news – Get fresh benchmarks at VPS Showdown (daily updates!)
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.
If you have found these posts informative and helpful in searching for a new hosting provider, please consider using one of the links below when signing up:
- DigitalOcean, new accounts receive $200 in credit (good for 60 days)
- Linode, new accounts receive $100 in credit (also good for 60 days)
- UpCloud, new accounts receive €25 in credit (yes, that’s in Euros)
- Vultr, new accounts also receive $100 in credit (good for only 14 days)
:wq
Like this drivel? There's a whole RSS feed of it, or subscribe via email.