After a few months of without Lightsail and UpCloud, it’s time to bring them
back into the fold and subsequently roll back to benchmarking on Ubuntu 18.04
LTS instead of 20.04 LTS.
That said, the only provide that doesn’t support the latest and greatest version
of Ubuntu is Amazon Lightsail as UpCloud did start to include it recently.
This past month also saw the introduction of the 3rd San Francisco-based
data center from DigitalOcean, so it seemed fitting to do a west coast showdown
to see how the new data center stacks up against the rest.
Usual deal, I’ve spun up 3 server instances with each provider, running Ubuntu
18.04 LTS, ran my benchmarks and averaged the results.
Unfortunately the data center locations are a bit all over the place since not
everybody has a data center in San Francisco, but I did pick locations that were
fairly close together.
Overview
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Location | San Francisco 3 | Oregon, Zone A | Fremont, CA | San Jose 1 | Silicon Valley |
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 |
Something to note this month, I attempted to “normalize” UpCloud’s backup
pricing a bit instead of listing it’s per gigabyte price. After some digging
around, it does seem like UpCloud offers a ton of different backup options that
vary in price based on data retention periods and even offer a rate for one time
backups.
For the most part, it seemed like you could take a snapshot which would cost you
$1.40 per month and for automatic backups, the prices start at $2 per month
which is actually broken up into 20% of your instance cost (like most providers)
plus an additional $1 for the “week” plan with 7 days of data retention.
UpCloud touts their “simply pricing” but given their “unlimited flexibility”, I
feel like their pricing ends up being about as confusing as AWS in a lot of
ways.
CPU Info
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
CPU MHz | 2294.61 | 2400.12 | 2300.00 | 2992.97 | 3792.02 |
Cache Size (KB) | 4096.00 | 30720.00 | 16384.00 | 16384.00 | 16384.00 |
BogoMips | 3059.67 | 3200.33 | 3066.33 | 3990.33 | 5056.33 |
A bit different than other months, but every instance for a given provider
actually reported a clock speed within 1 MHz of each other.
I still recommend spinning up multiple systems to help ensure you’re getting the
best server specs available with a provider, but definitely nice to see a bit
more consistency than I have in the past.
CPU
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Events per Second | 987.67 | 861.63 | 772.05 | 1242.44 | 1268.67 |
Minimum (ms) | 0.92 | 1.04 | 1.28 | 0.78 | 0.74 |
Average (ms) | 1.01 | 1.16 | 1.29 | 0.80 | 0.79 |
Maximum (ms) | 1.70 | 1.34 | 3.59 | 1.94 | 1.90 |
Memory (Read)
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Ops per Second | 3850846.60 | 821539.13 | 3297194.89 | 4852790.31 | 5091482.00 |
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.46 | 5.70 | 2.33 | 1.50 | 4.13 |
Memory (Write)
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Ops per Second | 3867968.93 | 826381.11 | 3298685.44 | 4869077.86 | 5076823.86 |
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) | 1.14 | 0.39 | 2.46 | 0.50 | 0.38 |
File I/O
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Reads per Second | 933.49 | 1424.70 | 2084.80 | 3699.99 | 4450.29 |
Writes per Second | 622.33 | 949.78 | 1389.88 | 2466.67 | 2966.84 |
Fsyncs per Second | 1984.46 | 3029.11 | 4439.30 | 7888.29 | 9486.68 |
Minimum (ms) | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.33 | 0.19 | 0.13 | 0.07 | 0.06 |
Maximum (ms) | 25.29 | 8.66 | 10.34 | 11.43 | 4.37 |
MySQL
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Transactions per Second | 1525.67 | 2257.33 | 3496.33 | 5468.67 | 5520.33 |
Queries per Second | 30513.33 | 45146.67 | 69926.67 | 109373.33 | 110406.67 |
Minimum (ms) | 2.40 | 2.31 | 2.09 | 1.24 | 1.30 |
Average (ms) | 6.81 | 4.43 | 2.86 | 1.84 | 1.82 |
Maximum (ms) | 110.78 | 30.62 | 29.70 | 19.17 | 13.88 |
Redis
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
PING_INLINE | 51499.97 | 56226.05 | 39485.47 | 73155.85 | 57564.65 |
PING_BULK | 46478.72 | 55561.90 | 39490.78 | 72240.04 | 56206.80 |
SET | 45086.00 | 54896.07 | 39720.27 | 73056.23 | 57332.73 |
GET | 47626.46 | 53976.69 | 39204.95 | 71985.87 | 57240.24 |
INCR | 47932.64 | 56787.03 | 39591.47 | 71900.84 | 57757.26 |
LPUSH | 49315.35 | 52294.15 | 39840.92 | 69294.05 | 58883.22 |
RPUSH | 47034.03 | 56107.43 | 39817.10 | 70383.56 | 58646.15 |
LPOP | 49073.48 | 52519.40 | 39751.02 | 71351.18 | 56782.88 |
RPOP | 48198.61 | 56310.15 | 39724.60 | 71490.44 | 55947.17 |
SADD | 47452.21 | 56743.83 | 39677.42 | 70500.08 | 56937.49 |
HSET | 47491.04 | 55033.47 | 40010.87 | 72774.86 | 56730.64 |
SPOP | 47644.53 | 56911.96 | 39677.77 | 72793.17 | 54955.73 |
LRANGE_100 (first 100 elements) | 24336.19 | 30223.93 | 19877.37 | 36627.44 | 32359.22 |
LRANGE_300 (first 300 elements) | 10439.72 | 11839.68 | 8635.56 | 15764.84 | 13936.57 |
LRANGE_500 (first 500 elements) | 7175.95 | 8369.94 | 5892.90 | 10753.62 | 10342.99 |
LRANGE_600 (first 600 elements) | 5810.69 | 6657.73 | 4635.87 | 8642.34 | 8305.88 |
MSET (10 keys) | 38996.94 | 40765.83 | 37294.96 | 63455.52 | 46973.91 |
Speed Test
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Distance (km) | 1360.68 | 2573.93 | 2372.79 | 1515.67 | 2357.97 |
Latency (ms) | 56.973 | 63.736 | 60.953 | 81.759 | 47.812 |
Download (Mbit/s) | 995.59 | 136.99 | 713.76 | 53.29 | 952.32 |
Upload (Mbit/s) | 371.19 | 92.85 | 240.91 | 128.89 | 453.20 |
Apache Benchmark (against nginx
on the servers)
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Requests per Second | 213.19 | 250.77 | 2037518.96 | 220.18 | 2038895.83 |
Time per Request (ms) (mean) | 2583.59 | 2001.27 | 1340.80 | 2602.90 | 2029.45 |
Transfer Rate (Kbyte/sec) | 178.84 | 210.37 | 146.86 | 184.70 | 103.39 |
Conclusion
I went into this with high hopes for DigitalOcean as I would have assumed that
“new data center” could potentially mean “new hardware” as well. Seems like that
wasn’t necessarily the case, as they did perform fairly in line with previous
benchmarks.
Vultr’s High Frequency plan continues to impress me at this particular price
point, since a buck per month extra is pretty trivial. Lightsail still rules the
day if you’re in need of extra storage or bandwidth for the same price as the
rest.