Figured for my final VPS Showdown of 2019, to go back to where it all began with
a $10 Showdown post.
Since last month, Linode has released their own flavor of “Object Storage” so I
thought it would be good to start including some additional products in the
overview section.
Since the pricing of everybody’s Object Storage offerings varied so much and can
be quite involved, I simply listed whether or now the product was available or
not.
Same deal with managed databases, which isn’t nearly as prevalent as a product
offering and in my opinion starts to paint a picture that some VPS providers are
trying to compete more with AWS/Azure/Google Cloud than with other VPS
providers.
As per usual, I spun up 3 instances with each provider at the specified price
point ($12 for Vultr since their High Frequency plans are so much better than
their standard offering). Each instance is running Ubuntu 18.04 LTS and the
results are averaged together.
Overview
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Location | New York 1 | Virginia, Zone A | Newark, NJ | Chicago 1 | New Jersey |
RAM | 2 GB | 2 GB | 2 GB | 2 GB | 2 GB |
CPU | 1 Core | 1 Core | 1 Core | 1 Core | 1 Core |
Storage | 50 GB SSD | 60 GB SSD | 50 GB SSD | 50 GB SSD | 64GB NVMe |
Transfer | 2 TB | 3 TB | 2 TB | 2 TB | 2 TB |
Base Price | $10/month | $10/month | $10/month | $10/month | $12/month |
Backups | $2/month | N/A | $2.50/month | $0.06/GB | $2.40/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 |
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 | No | No | No |
Usually Lightsail is the front runner when it comes to both transfer and
storage, even against Vultr’s slightly higher priced tier. While this is still
the case at the $5 price point, once you move up to $10 Vultr squeaks by with a
bit more storage.
Linode was a bit later to the part in regard to Object Storage, but considering
UpCloud currently doesn’t offer it at all, it’s better late than never. I’ve
mentioned it before, even though Linode tends to be a bit behind in regard to
their feature set, they always catch up, and tend to come out quite strong when
they do.
Managed databases are still a bit lacking across the board. DigitalOcean is
definitely positioning themselves to be a solid AWS alternative when it comes to
their managed offerings.
CPU Info
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
CPU MHz | 2231.53 | 2400.06 | 2400.00 | 2995.32 | 3792.00 |
Cache Size (KB) | 28928.00 | 30720.00 | 11093.33 | 16384.00 | 16384.00 |
BogoMips | 2933.00 | 3200.33 | 3133.00 | 3995.00 | 5056.33 |
Nothing too shocking here, Vultr’s High Frequency instances have consistently
boasted higher CPU clocks.
What’s really interesting is that both Lightsail and Linode clocked in at such
even numbers. That tends to be a good indication that ALL of the instances I
spun up had the same exact specs.
I’ve mentioned it in the past, it’s always worth it to spin up multiple servers
with a provider as you will probably end up with slightly different rolls
depending on which physical host you end up on.
CPU
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Events per Second | 855.49 | 864.68 | 933.91 | 1197.50 | 1334.14 |
Minimum (ms) | 1.04 | 1.14 | 1.07 | 0.82 | 0.74 |
Average (ms) | 1.17 | 1.16 | 1.14 | 0.84 | 0.75 |
Maximum (ms) | 3.42 | 2.04 | 12.77 | 3.84 | 1.16 |
Actually a bit surprised here as Lightsail is pretty much always in the last
place position for CPU events per second.
Looking back at previous months, it’s interesting to see that nearly all of the
providers performed about the same as they did at the lower price point.
Memory (Read)
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Ops per Second | 3449456.87 | 820377.89 | 3408382.62 | 4752188.36 | 5477554.06 |
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) | 2.13 | 4.16 | 6.93 | 3.73 | 0.28 |
Vultr not only put up killer ops per second, but also boasted a considerably
lower maximum operation time than the rest.
Memory (Write)
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Ops per Second | 3442023.86 | 822935.83 | 3476763.65 | 4802455.21 | 5489945.21 |
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.82 | 1.62 | 3.35 | 1.75 | 0.29 |
Fairly consistent results when writing to memory as we saw with reading from
memory.
File I/O
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Reads per Second | 1336.68 | 1493.42 | 1589.91 | 4961.09 | 6906.06 |
Writes per Second | 891.12 | 995.58 | 1059.92 | 3307.39 | 4604.03 |
Fsyncs per Second | 2844.56 | 3181.03 | 3382.92 | 10577.76 | 14728.71 |
Minimum (ms) | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.24 | 0.18 | 0.18 | 0.05 | 0.04 |
Maximum (ms) | 18.28 | 106.43 | 29.13 | 72.08 | 3.09 |
Not surprising to see Vultr take this category as well, seeing as they are
offering up NVMe for their High Frequency plans.
Yet another category where DigitalOcean and Linode seem to be under performing
their $5 counterparts.
MySQL
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Transactions per Second | 1631.00 | 2178.33 | 2455.67 | 5602.00 | 6357.00 |
Queries per Second | 32620.00 | 43566.67 | 49113.33 | 112040.00 | 127140.00 |
Minimum (ms) | 3.65 | 2.92 | 2.32 | 1.26 | 1.20 |
Average (ms) | 6.86 | 4.68 | 4.31 | 1.83 | 1.57 |
Maximum (ms) | 40.81 | 45.89 | 42.36 | 18.78 | 12.17 |
MySQL stats usually marries up with how the file I/O performs. Nothing shocking
here.
Redis
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
PING_INLINE | 38705.75 | 54564.34 | 49291.20 | 73823.34 | 61121.81 |
PING_BULK | 39129.40 | 54054.26 | 48058.28 | 73248.82 | 60089.35 |
SET | 41174.93 | 55039.09 | 48435.62 | 75190.05 | 61189.91 |
GET | 40973.44 | 54136.95 | 49095.09 | 77525.72 | 61018.79 |
INCR | 41462.75 | 54784.45 | 47424.47 | 77702.58 | 61255.83 |
LPUSH | 39505.64 | 52427.19 | 48239.62 | 73254.18 | 61916.49 |
RPUSH | 38006.79 | 54501.33 | 51497.20 | 73739.55 | 62016.61 |
LPOP | 39972.13 | 54062.26 | 50567.88 | 75809.26 | 61078.55 |
RPOP | 38203.11 | 54561.01 | 52630.27 | 73541.13 | 62307.18 |
SADD | 40322.67 | 54898.97 | 50954.85 | 75131.25 | 61412.88 |
HSET | 40083.61 | 53162.57 | 51267.62 | 75993.57 | 62930.44 |
SPOP | 40474.81 | 54728.95 | 47413.87 | 76885.00 | 62125.20 |
LRANGE_100 (first 100 elements) | 22550.57 | 29483.32 | 21807.45 | 40009.34 | 36882.51 |
LRANGE_300 (first 300 elements) | 9720.49 | 11549.69 | 9032.51 | 16604.67 | 16488.05 |
LRANGE_500 (first 500 elements) | 7046.98 | 8153.16 | 5871.80 | 11274.26 | 11916.15 |
LRANGE_600 (first 600 elements) | 5827.72 | 6514.03 | 4624.98 | 8565.44 | 9524.82 |
MSET (10 keys) | 34448.82 | 39355.52 | 37957.77 | 58336.60 | 56706.35 |
This one’s been perplexing me for a while now. Even though Vultr excels in
nearly every category, UpCloud has consistently outperformed everybody in this
particular category.
Redis is an in-memory data store, so I would think this would marry up with the
memory reads and writes. Since it doesn’t, my only other thought is that because
Redis is single-threaded that perhaps, even though Vultr has a “better” CPU that
it’s being throttled differently under the load than UpCloud is.
Speed Test
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Distance (km) | 2435.00 | 2090.30 | 2348.81 | 1456.73 | 2390.98 |
Latency (ms) | 45.394 | 40.387 | 50.204 | 34.836 | 46.688 |
Download (Mbit/s) | 988.56 | 63.30 | 124.28 | 399.79 | 80.55 |
Upload (Mbit/s) | 479.45 | 100.86 | 399.50 | 418.56 | 387.28 |
This (and the Apache Benchmarks) tend to be high controversial. This month is no
exception as Vultr (usually a front runner) fell down to the crappy speeds that
Lightsail has consistently offered up.
Apache Benchmark (against nginx
on the servers)
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Requests per Second | 298.57 | 185.59 | 300.83 | 298.08 | 300.75 |
Time per Request (ms) (mean) | 1674.84 | 2983.42 | 1662.06 | 1677.38 | 1663.46 |
Transfer Rate (Kbyte/sec) | 250.46 | 155.68 | 252.36 | 250.05 | 252.29 |
More controversial still, since my own Internet provider and home network factor
in heavily, are the results from ab
.
That said, Linode’s actually been fairly consistent in out performing the rest
of the pack, even if Vultr does boast the faster network. I think this month is
too close to call though, as the differences ended up being a tenths of a
second.
Conclusion
Extremely impressed with the seeming consistency of Vultr’s maximum operation
times across most of the benchmarks. Granted, if you’re more interested in
managed services offerings, DigitalOcean’s still the clear pick.
As always, it’s highly recommended that you do your own research and run your
own benchmarks on the provider / data center / price point you’re interest in
running your application on.
If you found this post helpful, please consider using one of my referral links
below to sign up. Catch ya next year!