The biggest news this month is that Linode was recently acquired by Akamai
Technologies for a whopping $900M. What that will do to the VPS landscape is yet
to be seen. The most immediate impact I’ve noticed is that Linode is going to
start charging sales tax in May.
I don’t think it’s a direct result of the acquisition, but Linode did perform
noticeably slower this month than in previous months. Seemed like two of the
three servers (both reporting an AMD EPYC 7601 32-Core Processor) were under
performing.
They very well may have both been on the same physical host, they also could
have been affected by noisy neighbors. Heck, running my benchmarks could have
been the noisy neighbor as well.
Regardless the cause, Linode’s performance this month took a noticeable dip that
I anticipate will bounce back next month.
Oh, and Linode’s managed MySQL databases are now in open beta, finally!
As for the benchmarks below, like previous months, I’ve spun up 3 instances for
each provider at the 5 and 6 dollar price points. All instances reside in or
around the New York / Newark area, are running the current LTS version of Ubuntu
and the metrics are averaged where applicable.
$5 VPS Showdown – DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr”
Overview
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Location | New York 1 | Virginia, Zone A | Newark, NJ | US-NYC1 | New York (NJ) |
Distro | Ubuntu 20.04 LTS | Ubuntu 20.04 LTS | Ubuntu 20.04 LTS | Ubuntu 20.04 LTS | Ubuntu 20.04 LTS |
Kernel | 5.4.0 | 5.4.0 | 5.4.0 | 5.4.0 | 5.4.0 |
MySQL | 8.0.28 | 8.0.28 | 8.0.28 | 8.0.28 | 8.0.28 |
Redis | 5.0.7 | 5.0.7 | 5.0.7 | 5.0.7 | 5.0.7 |
Base Price | $5/month | $5/month | $5/month | $5/month | $5/month |
Hourly Price | $0.007/hour | $0.007/hour | $0.0075/hour | $0.007/hour | $0.007/hour |
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 | 40 GB | 25 GB | 25 GB | 25 GB |
Storage Type | SSD | SSD | SSD | SSD | SSD |
Transfer | 1 TB | 2 TB | 1 TB | 1 TB | 1 TB |
Transfer Overage | $0.01/GB | $0.09/GB | $0.01/GB | $0.01/GB | $0.01/GB |
Backups | $1/month | $2/month | $2/month | $1/month | $1/month |
DNS | Yes | Yes | Yes | No | Yes |
Firewall | Yes | Yes | Yes | Yes | Yes |
Load Balancer | $10/month | $18/month | $10/month | No | $10/month |
Block Storage | $0.1/GB | $0.1/GB | $0.1/GB | $0.223/GB | $0.1/GB |
Object Storage | $5/month | $0.023/GB | $5/month | $5/month | $5/month |
Managed Databases | MongoDB, MySQL, PostgreSQL, Redis | MySQL, PostgreSQL | MySQL | MySQL, PostgreSQL | No |
2FA/MFA | Yes | Yes | Yes | Yes | Yes |
One-click Apps | Yes | Yes | Yes | No | Yes |
Custom Images | Yes | No | Yes | Yes | Yes |
Kubernetes | Yes | Yes | Yes | No | Yes |
Container Registry | Yes | Yes | No | No | No |
Container Hosting | Yes | Yes | No | No | No |
CPU Info
Model Name | |
---|---|
DigitalOcean – All Instances | DO-Regular |
Lightsail – All Instances | Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz |
Linode – Instance #1 | AMD EPYC 7642 48-Core Processor |
Linode – Instance #2 | AMD EPYC 7601 32-Core Processor |
Linode – Instance #3 | AMD EPYC 7601 32-Core Processor |
UpCloud – All Instances | AMD EPYC 7542 32-Core Processor |
Vultr – Instance #1 | Intel Core Processor (Broadwell, no TSX, IBRS) |
Vultr – Instance #2 | Intel Core Processor (Haswell, no TSX, IBRS) |
Vultr – Instance #3 | Intel Core Processor (Haswell, no TSX, IBRS) |
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
CPU MHz | 2,494.14 | 2,399.94 | 2,233.33 | 2,894.56 | 2,398.15 |
Cache Size (KB) | 4,096.00 | 30,720.00 | 512.00 | 512.00 | 16,384.00 |
BogoMips | 3,325.67 | 3,200.33 | 3,000.00 | 3,859.67 | 3,196.00 |
CPU
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Events per Second | 865.24 | 757.40 | 1,026.80 | 1,650.72 | 738.06 |
Minimum (ms) | 0.95 | 1.23 | 0.68 | 0.58 | 1.21 |
Average (ms) | 1.18 | 1.32 | 1.18 | 0.60 | 1.37 |
Maximum (ms) | 8.24 | 6.78 | 37.44 | 1.82 | 6.61 |
Memory
Read
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Ops per Second | 3,940,906.88 | 520,685.91 | 3,127,523.19 | 5,488,591.60 | 3,661,383.57 |
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) | 3.17 | 2.71 | 20.75 | 0.35 | 3.45 |
Write
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Ops per Second | 3,987,403.78 | 522,620.92 | 2,902,942.47 | 5,502,535.75 | 3,735,334.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) | 2.34 | 1.80 | 21.25 | 0.25 | 3.61 |
File I/O
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Reads per Second | 1,635.67 | 1,102.48 | 189.27 | 2,486.43 | 2,080.12 |
Writes per Second | 1,090.44 | 734.96 | 126.16 | 1,657.59 | 1,386.71 |
Fsyncs per Second | 3,493.31 | 2,360.41 | 409.20 | 5,310.48 | 4,444.61 |
Minimum (ms) | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.17 | 0.24 | 1.38 | 0.11 | 0.13 |
Maximum (ms) | 11.15 | 13.15 | 84.95 | 8.66 | 6.47 |
MySQL
Read Only
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Transactions per Second | 4,799.67 | 4,680.00 | 3,542.67 | 8,178.67 | 4,171.00 |
Queries per Second | 76,794.67 | 74,880.00 | 56,682.67 | 130,858.67 | 66,736.00 |
Minimum (ms) | 1.28 | 1.78 | 2.12 | 0.96 | 1.75 |
Average (ms) | 2.15 | 2.13 | 4.24 | 1.22 | 2.42 |
Maximum (ms) | 21.24 | 30.00 | 77.74 | 8.09 | 52.53 |
Write Only
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Transactions per Second | 2,679.33 | 1,671.67 | 779.67 | 3,997.00 | 3,356.00 |
Queries per Second | 16,076.00 | 10,030.00 | 4,678.00 | 23,982.00 | 20,136.00 |
Minimum (ms) | 1.34 | 3.02 | 4.70 | 1.38 | 1.57 |
Average (ms) | 4.64 | 6.00 | 35.68 | 2.50 | 3.25 |
Maximum (ms) | 32.69 | 26.31 | 199.82 | 16.70 | 40.61 |
Read Write
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
Transactions per Second | 1,092.00 | 1,151.33 | 593.00 | 2,427.00 | 1,497.67 |
Queries per Second | 21,840.00 | 23,026.67 | 11,860.00 | 48,540.00 | 29,953.33 |
Minimum (ms) | 3.90 | 5.40 | 9.19 | 2.58 | 4.29 |
Average (ms) | 10.07 | 8.69 | 45.57 | 4.12 | 7.04 |
Maximum (ms) | 86.99 | 58.53 | 267.42 | 20.49 | 31.26 |
Redis
DigitalOcean | Lightsail | Linode | UpCloud | Vultr | |
---|---|---|---|---|---|
PING_INLINE | 38,771.02 | 45,213.34 | 41,655.54 | 64,068.72 | 36,233.87 |
PING_BULK | 38,411.35 | 44,769.48 | 45,235.77 | 62,161.46 | 34,980.11 |
SET | 39,533.44 | 45,078.09 | 42,231.22 | 66,013.03 | 36,702.78 |
GET | 39,510.67 | 45,143.03 | 45,362.17 | 64,118.48 | 35,263.73 |
INCR | 38,829.12 | 44,964.05 | 48,527.07 | 65,632.14 | 35,641.15 |
LPUSH | 34,285.24 | 45,665.88 | 37,962.69 | 69,152.36 | 37,003.51 |
RPUSH | 33,427.85 | 45,408.70 | 38,505.82 | 68,340.20 | 37,780.57 |
LPOP | 35,488.26 | 45,333.56 | 38,468.03 | 69,412.01 | 36,798.13 |
RPOP | 38,397.89 | 45,300.44 | 41,048.27 | 68,728.61 | 36,234.68 |
SADD | 39,039.79 | 45,176.80 | 45,358.86 | 65,350.07 | 35,403.70 |
HSET | 40,946.85 | 45,410.51 | 38,251.66 | 69,801.03 | 37,225.46 |
SPOP | 39,846.72 | 45,455.11 | 43,371.54 | 64,492.96 | 35,146.80 |
LRANGE_100 (first 100 elements) | 22,969.88 | 29,350.65 | 17,719.85 | 31,437.83 | 25,199.44 |
LRANGE_300 (first 300 elements) | 9,792.23 | 12,896.25 | 6,857.64 | 11,578.97 | 10,227.54 |
LRANGE_500 (first 500 elements) | 7,148.05 | 9,314.58 | 5,236.80 | 9,103.11 | 7,237.59 |
LRANGE_600 (first 600 elements) | 5,783.65 | 7,662.92 | 4,269.72 | 7,553.44 | 5,690.99 |
MSET (10 keys) | 31,176.00 | 37,305.93 | 22,313.51 | 62,830.05 | 25,982.71 |
$6 VPS Showdown – DigitalOcean – Premium Intel vs. DigitalOcean – Premium AMD vs. Vultr – High Frequency”
Overview
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
Location | New York 1 | New York 1 | New York (NJ) |
Distro | Ubuntu 20.04 LTS | Ubuntu 20.04 LTS | Ubuntu 20.04 LTS |
Kernel | 5.4.0 | 5.4.0 | 5.4.0 |
MySQL | 8.0.28 | 8.0.28 | 8.0.28 |
Redis | 5.0.7 | 5.0.7 | 5.0.7 |
Base Price | $6/month | $6/month | $6/month |
Hourly Price | $0.009/hour | $0.009/hour | $0.009/hour |
RAM | 1 GB | 1 GB | 1 GB |
CPU | 1 Core | 1 Core | 1 Core |
Storage | 25 GB | 25 GB | 25 GB |
Storage Type | NVMe | NVMe | NVMe |
Transfer | 1 TB | 1 TB | 1 TB |
Transfer Overage | $0.01/GB | $0.01/GB | $0.01/GB |
Backups | $1.2/month | $1.2/month | $1.2/month |
DNS | Yes | Yes | Yes |
Firewall | Yes | Yes | Yes |
Load Balancer | $10/month | $10/month | $10/month |
Block Storage | $0.1/GB | $0.1/GB | $0.1/GB |
Object Storage | $5/month | $5/month | $5/month |
Managed Databases | MongoDB, MySQL, PostgreSQL, Redis | MongoDB, MySQL, PostgreSQL, Redis | No |
2FA/MFA | Yes | Yes | Yes |
One-click Apps | Yes | Yes | Yes |
Custom Images | Yes | Yes | Yes |
Kubernetes | Yes | Yes | Yes |
Container Registry | Yes | Yes | No |
Container Hosting | Yes | Yes | No |
CPU Info
Model Name | |
---|---|
DigitalOcean – Premium Intel – All Instances | DO-Premium-Intel |
DigitalOcean – Premium AMD – All Instances | DO-Premium-AMD |
Vultr – High Frequency – All Instances | Intel Core Processor (Skylake, IBRS) |
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
CPU MHz | 2,494.13 | 2,000.00 | 3,696.00 |
Cache Size (KB) | 4,096.00 | 512.00 | 16,384.00 |
BogoMips | 3,325.67 | 2,666.33 | 4,927.67 |
CPU
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
Events per Second | 917.55 | 1,248.44 | 1,282.75 |
Minimum (ms) | 0.95 | 0.71 | 0.76 |
Average (ms) | 1.09 | 0.80 | 0.79 |
Maximum (ms) | 3.65 | 2.21 | 3.57 |
Memory
Read
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
Ops per Second | 3,979,735.29 | 3,758,442.89 | 6,035,823.31 |
Minimum (ms) | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.00 | 0.00 | 0.00 |
Maximum (ms) | 7.79 | 1.60 | 1.91 |
Write
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
Ops per Second | 4,119,352.53 | 3,680,563.67 | 5,958,689.57 |
Minimum (ms) | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.00 | 0.00 | 0.00 |
Maximum (ms) | 8.23 | 0.39 | 2.62 |
File I/O
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
Reads per Second | 1,543.73 | 1,411.73 | 4,284.03 |
Writes per Second | 1,029.16 | 941.15 | 2,856.01 |
Fsyncs per Second | 3,298.36 | 3,018.59 | 9,145.51 |
Minimum (ms) | 0.00 | 0.00 | 0.00 |
Average (ms) | 0.18 | 0.19 | 0.06 |
Maximum (ms) | 44.25 | 9.25 | 4.28 |
MySQL
Read Only
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
Transactions per Second | 5,348.00 | 4,214.33 | 7,732.00 |
Queries per Second | 85,568.00 | 67,429.33 | 123,712.00 |
Minimum (ms) | 1.25 | 1.61 | 1.00 |
Average (ms) | 1.88 | 2.38 | 1.31 |
Maximum (ms) | 15.21 | 15.02 | 13.92 |
Write Only
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
Transactions per Second | 2,337.33 | 2,335.33 | 8,485.67 |
Queries per Second | 14,024.00 | 14,012.00 | 50,914.00 |
Minimum (ms) | 1.35 | 1.36 | 0.65 |
Average (ms) | 4.99 | 4.33 | 1.19 |
Maximum (ms) | 67.42 | 31.50 | 9.14 |
Read Write
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
Transactions per Second | 1,569.00 | 1,356.33 | 3,419.67 |
Queries per Second | 31,380.00 | 27,126.67 | 68,393.33 |
Minimum (ms) | 3.40 | 3.58 | 1.93 |
Average (ms) | 6.50 | 7.37 | 2.96 |
Maximum (ms) | 42.49 | 46.04 | 14.31 |
Redis
DigitalOcean – Premium Intel | DigitalOcean – Premium AMD | Vultr – High Frequency | |
---|---|---|---|
PING_INLINE | 50,266.15 | 56,599.66 | 57,109.99 |
PING_BULK | 58,428.95 | 58,457.23 | 55,453.14 |
SET | 65,451.25 | 53,479.60 | 57,497.53 |
GET | 68,538.76 | 50,075.38 | 57,157.16 |
INCR | 73,527.31 | 53,560.93 | 55,939.91 |
LPUSH | 69,139.43 | 48,015.23 | 58,951.83 |
RPUSH | 71,894.19 | 50,203.37 | 57,703.71 |
LPOP | 71,098.72 | 50,752.64 | 56,650.94 |
RPOP | 69,684.18 | 52,063.91 | 55,335.97 |
SADD | 68,376.48 | 56,393.02 | 54,516.48 |
HSET | 64,383.89 | 47,876.91 | 57,782.21 |
SPOP | 61,403.54 | 59,065.90 | 55,848.86 |
LRANGE_100 (first 100 elements) | 28,538.76 | 26,498.22 | 39,926.35 |
LRANGE_300 (first 300 elements) | 11,361.02 | 10,166.03 | 16,726.98 |
LRANGE_500 (first 500 elements) | 7,871.50 | 7,100.11 | 11,425.41 |
LRANGE_600 (first 600 elements) | 6,688.44 | 5,263.32 | 9,277.14 |
MSET (10 keys) | 37,688.12 | 28,234.83 | 47,581.62 |
Conclusion
As mentioned, Linode’s performance wasn’t where it usually is, with noticeable
lag that seems to have impacted every category of benchmarks.
I mention it pretty regularly, it’s always a great idea to spin up multiple
instances with a provider to ensure you’re on the latest and greatest hardware.
This is especially true for the providers that aren’t transparent with the
underlying processor. It’s also good to run your own independent benchmarks and
factor in the needs of your own application when choosing a provider.
If these benchmarks helped you make a decision on a new hosting company, please
use one of my referral links below.