We recently did a benchmark on the Digital Ocean 1GB Droplet in the Toronto Data center, so we were curious how a VPS that has 8GB of RAM and 2 vCPU and costs a whopping $60 a month. For those keeping score at home, the 1GB Droplet only costs $5 per month. Anyway on with the show/benchmarking.
To keep things consistent across benchies, we need to prep the VPS in the exact same way each time.
Let’s get started with the basic network connectivity test that is speedtest-cli. Before we can kick off running the benchmark, there are a few dependanices that need to be installed on the VPS. Here are the commands needed to get things ready to run the speedtest-cli benchmark
apt-get install python-pip
pip install speedtest-cli
There is a good chance that the server is going to throw a warning that states
You are using pip version 8.1.1, however version 19.1 is available.
You should consider upgrading via the ‘pip install --upgrade pip’ command.
So, next step is to upgrade pip, as we were told!
> pip install --upgrade pip
From there, we want to drop into a temporary directory from where we can kick off the benchmarking.
cd /tmp
Now, let’s grab the bits of code we need in order to run the speedtest-cli benchmark tool
wget https://github.com/sivel/speedtest-cli/archive/master.zip
Great! Now let’s unzip that file and get to work
> unzip master.zip
As this is a vanilla install of Ubunty 16.04, the unzip package does not exist, so yet another warning/error is thrown.
The program ‘unzip’ is currently not installed. You can install it by typing:
apt install unzip
Easy enough to get around that issue, as it literally tells us exactly what to do. Once we have unzipped the package, we need to change directories into the new speedtest-cli-master directory that was created by the unzip process.
> cd speedtest-cli-master
Once you are in the speedtest directory, it is simply a matter of kicking off the speedtest script. As I wanted the fancy visuals for this blog post, I executed the command with the --share parameter.
> speedtest-cli --share
If you do not wish to get the graphics, and are happy with seeing the results of the benchmark at the CLI, then simply run
> speedtest-cli
Now, onto the results of the speedtest-cli benchmark. Holy moly, what a network. It makes me wonder if Digital Ocean are in the same datacenter, or even the same rack as the speed test servers/devices.
Round 1 - FIGHT
And another round a few hours later.
At this point I have to assume that the speedtest node that I was hitting is in the same datacenter as the Digital Ocean droplet that I am running the tests from.
Now that we have done the speed test, let’s see how this expensive VPS stands up when we run Geekbench.
DigitalOcean Droplet 8GB 2vCPU
Single-Core Score Multi-Core Score 4253 7859 Geekbench 4.3.3 Tryout for Linux x86 (64-bit) Result Information
Upload Date April 26 2019 03:50 PM Views 1 System Information
System Information Operating System Ubuntu 16.04.6 LTS 4.4.0-145-generic x86_64 Model DigitalOcean Droplet Motherboard N/A Memory 7983 MB BIOS DigitalOcean 20171212
Processor Information Name Intel Xeon Platinum 8168 Topology 2 Processors, 2 Cores Identifier GenuineIntel Family 6 Model 85 Stepping 4 Base Frequency 2.69 GHz L1 Instruction Cache 32.0 KB x 1 L1 Data Cache 32.0 KB x 1 L2 Cache 1.00 MB x 1 L3 Cache 33.0 MB x 1 Single-Core Performance
Single-Core Score 4253 Crypto Score 3750 Integer Score 4668 Floating Point Score 4784 Memory Score 2650 AES 3750 2.82 GB/sec LZMA 3845 6.01 MB/sec JPEG 4414 35.5 Mpixels/sec Canny 4432 61.5 Mpixels/sec Lua 4810 4.94 MB/sec Dijkstra 6105 4.13 MTE/sec SQLite 4625 128.2 Krows/sec HTML5 Parse 4899 22.2 MB/sec HTML5 DOM 3002 2.72 MElements/sec Histogram Equalization 4142 129.4 Mpixels/sec PDF Rendering 5195 138.0 Mpixels/sec LLVM 8213 564.7 functions/sec Camera 4033 11.2 images/sec SGEMM 7983 168.8 Gflops SFFT 5553 13.8 Gflops N-Body Physics 4281 3.20 Mpairs/sec Ray Tracing 3701 540.5 Kpixels/sec Rigid Body Physics 4256 12460.9 FPS HDR 5421 19.7 Mpixels/sec Gaussian Blur 4433 77.7 Mpixels/sec Speech Recognition 4520 38.7 Words/sec Face Detection 4046 1.18 Msubwindows/sec Memory Copy 2050 5.68 GB/sec Memory Latency 5127 84.4 ns Memory Bandwidth 1772 9.46 GB/sec Multi-Core Performance
Multi-Core Score 7859 Crypto Score 7311 Integer Score 9122 Floating Point Score 9191 Memory Score 3153 AES 7311 5.51 GB/sec LZMA 7671 12.0 MB/sec JPEG 8803 70.8 Mpixels/sec Canny 8471 117.5 Mpixels/sec Lua 9600 9.87 MB/sec Dijkstra 11118 7.52 MTE/sec SQLite 9210 255.3 Krows/sec HTML5 Parse 9769 44.4 MB/sec HTML5 DOM 5419 4.91 MElements/sec Histogram Equalization 8200 256.2 Mpixels/sec PDF Rendering 10305 273.8 Mpixels/sec LLVM 16433 1.13 Kfunctions/sec Camera 8040 22.3 images/sec SGEMM 14714 311.0 Gflops SFFT 10015 25.0 Gflops N-Body Physics 8516 6.36 Mpairs/sec Ray Tracing 6345 926.6 Kpixels/sec Rigid Body Physics 8271 24212.6 FPS HDR 10745 39.0 Mpixels/sec Gaussian Blur 9186 160.9 Mpixels/sec Speech Recognition 8901 76.2 Words/sec Face Detection 8095 2.36 Msubwindows/sec Memory Copy 4011 11.1 GB/sec Memory Latency 2280 189.8 ns Memory Bandwidth 3429 18.3 GB/sec
Results can be browsed here.
Not bad, but does it really justify increasing your budget by $55/month?
Onto our old faithful bench.sh script.
CPU model : Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz
Number of cores : 2
CPU frequency : 2693.670 MHz
Total size of Disk : 25.1 GB (1.6 GB Used)
Total amount of Mem : 7983 MB (42 MB Used)
Total amount of Swap : 0 MB (0 MB Used)
System uptime : 0 days, 0 hour 7 min
Load average : 0.35, 0.29, 0.12
OS : Ubuntu 16.04.6 LTS
Arch : x86_64 (64 Bit)
Kernel : 4.4.0-145-genericI/O speed(1st run) : 784 MB/s
I/O speed(2nd run) : 729 MB/s
I/O speed(3rd run) : 771 MB/s
Average I/O speed : 761.3 MB/sNode Name IPv4 address Download Speed
CacheFly 205.234.175.175 233MB/s
Linode, Tokyo, JP 106.187.96.148 13.4MB/s
Linode, Singapore, SG 139.162.23.4 9.70MB/s
Linode, London, UK 176.58.107.39 28.3MB/s
Linode, Frankfurt, DE 139.162.130.8 25.4MB/s
Linode, Fremont, CA 50.116.14.9 32.5MB/s
Softlayer, Dallas, TX 173.192.68.18 34.1MB/s
Softlayer, Seattle, WA 67.228.112.250 23.3MB/s
Softlayer, Frankfurt, DE 159.122.69.4 11.4MB/s
Softlayer, Singapore, SG 119.81.28.170 5.81MB/s
Softlayer, HongKong, CN 119.81.130.170 6.57MB/s
And a second running later in the day gets us this.
CPU model : Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz
Number of cores : 2
CPU frequency : 2693.670 MHz
Total size of Disk : 25.1 GB (1.6 GB Used)
Total amount of Mem : 7983 MB (42 MB Used)
Total amount of Swap : 0 MB (0 MB Used)
System uptime : 0 days, 0 hour 9 min
Load average : 0.21, 0.27, 0.13
OS : Ubuntu 16.04.6 LTS
Arch : x86_64 (64 Bit)
Kernel : 4.4.0-145-generic
I/O speed(1st run) : 762 MB/s
I/O speed(2nd run) : 773 MB/s
I/O speed(3rd run) : 756 MB/s
Average I/O speed : 763.7 MB/s
Node Name IPv4 address Download Speed
CacheFly 205.234.175.175 107MB/s
Linode, Tokyo, JP 106.187.96.148 13.7MB/s
Linode, Singapore, SG 139.162.23.4 9.17MB/s
Linode, London, UK 176.58.107.39 29.8MB/s
Linode, Frankfurt, DE 139.162.130.8 21.9MB/s
Linode, Fremont, CA 50.116.14.9 32.1MB/s
Softlayer, Dallas, TX 173.192.68.18 41.4MB/s
Softlayer, Seattle, WA 67.228.112.250 30.1MB/s
Softlayer, Frankfurt, DE 159.122.69.4 11.5MB/s
Softlayer, Singapore, SG 119.81.28.170 5.50MB/s
Softlayer, HongKong, CN 119.81.130.170 6.63MB/s
CPU model : Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz
Number of cores : 2
CPU frequency : 2693.670 MHz
Total size of Disk : 25.1 GB (1.6 GB Used)
Total amount of Mem : 7983 MB (43 MB Used)
Total amount of Swap : 0 MB (0 MB Used)
System uptime : 0 days, 0 hour 10 min
Load average : 0.07, 0.21, 0.12
OS : Ubuntu 16.04.6 LTS
Arch : x86_64 (64 Bit)
Kernel : 4.4.0-145-generic
I/O speed(1st run) : 768 MB/s
I/O speed(2nd run) : 789 MB/s
I/O speed(3rd run) : 745 MB/s
Average I/O speed : 767.3 MB/s
Node Name IPv4 address Download Speed
CacheFly 205.234.175.175 124MB/s
Linode, Tokyo, JP 106.187.96.148 13.6MB/s
Linode, Singapore, SG 139.162.23.4 9.38MB/s
Linode, London, UK 176.58.107.39 29.6MB/s
Linode, Frankfurt, DE 139.162.130.8 26.2MB/s
Linode, Fremont, CA 50.116.14.9 26.8MB/s
Softlayer, Dallas, TX 173.192.68.18 39.4MB/s
Softlayer, Seattle, WA 67.228.112.250 26.6MB/s
Softlayer, Frankfurt, DE 159.122.69.4 10.8MB/s
Softlayer, Singapore, SG 119.81.28.170 5.59MB/s
Softlayer, HongKong, CN 119.81.130.170 8.36MB/s
According to Digtal Ocean, the General Purpose class of VPS gets you
Virtual machines with a healthy balance of memory and dedicated compute hyper-threads from best-in-class processors. Designed for the widest range of mainstream or production workloads, including web application hosting, e-commerce sites, medium-sized databases, and enterprise applications.
To be honest, I cannot think of any reason why anyone would run a general purpose VPS for $60, when a “standard” droplet is ALMOST as good. What say you good reader?