Cloud Resource
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Virtual Performance

Compared the performance of a number of major cloud providers.

In our pursuit of determining the best performance among the leading cloud providers, we conducted a comprehensive comparison of DigitalOcean, Vultr, Linode, and myDEAC. Our comparison was based on their respective virtual machine (VM) offerings in Europe, with VMs sharing common specifications of 1 vCPU, 1 GB of RAM, SSD storage between 25GB - 30GB, shared CPU, local storage space, and operating on Ubuntu 22.04 LTS.

Here are the specifications of each provider’s VM:

Provider VM Location VM Type CPU Type/Vendor Network note
Digitalocean Frankfurt 1vCPU/1GB RAM/25GB SSD DO-Regular/KVM Metred 1.00 TB (in/out 40/1Gbps)
Vultr Frankfurt 1vCPU/1GB RAM/25GB SSD Intel Core Processor/Microsoft Metred 1.00 TB (in/out NA)
Linode Frankfurt 1vCPU/1GB RAM/25GB SSD AMD EPYC 7713/KVM Metred 1.00 TB (in/out 40/1Gbps)
myDEAC EU North 1vCPU/1GB RAM/30GB SSD Common KVM processor Unlimited (in/out 1/1Gbps)

To ensure accurate cost comparison, we’ve standardized the pricing by converting the cost of myDEAC, which is listed in Euros, to USD, thus matching the currency used by DigitalOcean, Linode, and Vultr. Please note, the prices we’re comparing are exclusive of VAT.

Provider USD per month Hourly rate
Digitalocean $6 $0.009/hour
Vultr $5 $0.007/hour
Linode $5 $0.0075/hour
myDEAC $10,36 $0,014/hour

For our benchmarks, we utilized the Phoronix Test Suite v10.8.4 and executed each test three times for accuracy. Our evaluations focused on the following aspects: the system as a whole, single-core CPU performance, RAM memory capacity, storage speed, and network latency. The tests were conducted on the Ubuntu installations provided by the service providers. While we ensured all updates were installed, no further modifications were made, preserving the default settings.

Benchmark List:

  1. pts/build-linux-kernel - This benchmark measures the time taken to build the Linux kernel using the default configuration.
  2. pts/compress-7zip - This benchmark evaluates the compression and decompression performance using 7-Zip’s integrated feature.
  3. pts/postmark - Using NetApp’s PostMark benchmark, this test simulates small-file tasks typical of web and mail servers. It sets PostMark to carry out 25,000 transactions with 500 files simultaneously, where the file sizes range between 5 and 512 kilobytes.
  4. pts/speedtest-cli - This benchmark uses the open-source speedtest-cli client to assess your internet connection’s upload/download performance and latency against the Speedtest.net servers.
  5. pts/pgbench - A straightforward benchmark of PostgreSQL, using pgbench.
  6. pts/apache - This benchmark tests the Apache HTTPD web server. It uses the wrk program to manage HTTP requests over a fixed period with a configurable number of concurrent clients.
  7. pts/phpbench - PHPBench serves as a benchmark suite for PHP, performing numerous simple tests to benchmark various aspects of the PHP interpreter. PHPBench can be used to compare hardware, operating systems, PHP versions, PHP accelerators and caches, compiler options, and more.
  8. pts/stress-ng - This is a stress test for the CPU.

Benchmarks scores and charts:

nr Benchmarks myDEAC Digitalocean Vultr Linode Note
1 Build Linux Kernel compilation time in sec 1336,97 2898,00 2032,90 1286,36 Fewer is Better
2.1 7zip Compression 4579 1896 2886 4884 More is Better
2.2 7zip Decompression 3617 2133 2527 3636 More is Better
3 Postmark file transactions 2130 1461 1434 4211 More is Better
4.1 Network Download Mbps 1269,65 2736,88 3383,39 5880,56 More is Better
4.2 Network Upload Mbps 709,81 1479,14 2566,41 3706,56 More is Better
4.3 Network Latency ms 1,662 5,014 3,446 1,308 Fewer is Better
5 PHPBench 634019 299396 462634 439291 More is Better
6 Apache Concurrent Requests: 1000 5039,84 1804,02 2600,28 6548,77 More is Better
7.1 PostgreSQL - Scaling Factor: 100 - Clients: 50 - Mode: Read Only (TPS) 11591 3775 7382 12489 More is Better
7.2 PostgreSQL - Scaling Factor: 100 - Clients: 50 - Mode: Read Only - Average Latency (ms) 4,315 13,279 6,775 4,026 Fewer is Better
7.3 PostgreSQL - Scaling Factor: 100 - Clients: 50 - Mode: Read Write (TPS) 2177 802 1312 2408 More is Better
7.4 PostgreSQL - Scaling Factor: 100 - Clients: 50 - Mode: Read Write - Average Latency (ms) 22,968 62,568 38,115 20,775 Fewer is Better
8 Stress-NG - Test: CPU Stress (Bogo Ops/s) 1524,17 886,33 1112,02 1338,43 More is Better

Our comparison focused solely on the technical performance of equivalent virtual machines across the different providers. We did not factor in additional services such as firewall settings, monitoring capabilities, backup policies, alert triggering, etc., offered by these providers. Each of these service providers brings unique additional services to the table. Don’t hesitate to explore and try them out yourself!

Python Performance Benchmarks: A Crucial Element for Python Developers

We utilized the Python Performance Benchmark Suite (https://pyperformance.readthedocs.io) to conduct performance tests and compare the results across each service provider’s VM. The PyPerformance project aims to be an authoritative benchmark source for all Python implementations, emphasizing real-world rather than synthetic benchmarks and favoring whole applications whenever possible. You can find a detailed description of these benchmarks at https://pyperformance.readthedocs.io/benchmarks.html.

Benchmark myDEAC Digitalocean Vultr Linode
2to3 415 ms +-7 ms 1.16 sec +-0.05 sec 597 ms +-17 ms 581 ms +-7 ms
async_generators 498 ms +-9 ms 1.19 sec +-0.08 sec 704 ms +-17 ms 710 ms +-7 ms
async_tree_none 929 ms +-82 ms 2.26 sec +-0.13 sec 1.27 sec +-0.07 sec 1.04 sec +-0.04 sec
async_tree_cpu_io_mixed 1.19 sec +-0.10 sec 2.96 sec +-0.11 sec 1.69 sec +-0.07 sec 1.40 sec +-0.07 sec
async_tree_io 2.13 sec +-0.02 sec 5.16 sec +-0.23 sec 3.01 sec +-0.16 sec 2.41 sec +-0.08 sec
async_tree_memoization 982 ms +-16 ms 2.80 sec +-0.16 sec 1.53 sec +-0.05 sec 1.24 sec +-0.02 sec
chameleon 10.3 ms +-0.1 ms 30.6 ms +-2.5 ms 14.8 ms +-0.5 ms 16.4 ms +-0.3 ms
chaos 118 ms +-3 ms 337 ms +-23 ms 177 ms +-5 ms 190 ms +-7 ms
bench_mp_pool 18.4 ms +-1.4 ms 30.3 ms +-2.2 ms 20.8 ms +-0.8 ms 13.3 ms +-0.4 ms
bench_thread_pool 1.29 ms +-0.01 ms 3.13 ms +-0.25 ms 1.83 ms +-0.04 ms 1.39 ms +-0.02 ms
coroutines 34.4 ms +-0.3 ms 93.9 ms +-7.4 ms 55.5 ms +-2.1 ms 61.9 ms +-0.9 ms
coverage 74.1 ms +-0.8 ms 198 ms +-12 ms 116 ms +-4 ms 96.7 ms +-1.1 ms
crypto_pyaes 124 ms +-1 ms 350 ms +-20 ms 197 ms +-5 ms 178 ms +-2 ms
deepcopy 489 us +-5 us 1.49 ms +-0.13 ms 733 us +-19 us 805 us +-7 us
deepcopy_reduce 4.21 us +-0.04 us 11.8 us +-1.6 us 6.32 us +-0.33 us 6.95 us +-0.05 us
deepcopy_memo 57.4 us +-0.4 us 180 us +-17 us 88.4 us +-3.2 us 97.6 us +-1.0 us
deltablue 8.17 ms +-0.15 ms 22.8 ms +-1.4 ms 13.2 ms +-0.6 ms 12.7 ms +-0.2 ms
django_template 49.8 ms +-0.5 ms 139 ms +-18 ms 81.9 ms +-3.7 ms 84.8 ms +-0.6 ms
docutils 3.42 sec +-0.03 sec 10.3 sec +-0.3 sec 5.58 sec +-0.12 sec 4.86 sec +-0.07 sec
dulwich_log 104 ms +-1 ms 192 ms +-14 ms 169 ms +-6 ms 117 ms +-3 ms
fannkuch 529 ms +-3 ms 1.54 sec +-0.08 sec 834 ms +-19 ms 966 ms +-6 ms
float 129 ms +-2 ms 384 ms +-29 ms 207 ms +-9 ms 210 ms +-5 ms
generators 68.4 ms +-0.8 ms 163 ms +-10 ms 94.4 ms +-2.7 ms 90.8 ms +-2.1 ms
genshi_text 33.0 ms +-0.3 ms 106 ms +-10 ms 52.7 ms +-2.1 ms 57.4 ms +-0.5 ms
genshi_xml 68.3 ms +-1.0 ms 206 ms +-21 ms 109 ms +-5 ms 111 ms +-2 ms
go 258 ms +-3 ms 740 ms +-46 ms 415 ms +-17 ms 410 ms +-7 ms
hexiom 10.2 ms +-0.1 ms 30.0 ms +-2.6 ms 16.2 ms +-0.4 ms 17.2 ms +-0.2 ms
html5lib 92.2 ms +-4.7 ms 263 ms +-32 ms 149 ms +-9 ms 139 ms +-5 ms
json_dumps 14.7 ms +-0.2 ms 41.3 ms +-3.4 ms 22.9 ms +-1.2 ms 22.0 ms +-0.3 ms
json_loads 29.4 us +-0.3 us 73.9 us +-3.7 us 43.6 us +-2.0 us 31.7 us +-0.4 us
logging_format 14.2 us +-0.2 us 28.2 us +-2.8 us 18.1 us +-0.8 us 14.4 us +-0.3 us
logging_silent 197 ns +-6 ns 588 ns +-94 ns 326 ns +-15 ns 356 ns +-8 ns
logging_simple 13.0 us +-0.1 us 24.1 us +-1.8 us 15.3 us +-0.8 us 13.6 us +-0.3 us
mako 17.2 ms +-0.1 ms 47.8 ms +-5.6 ms 26.2 ms +-1.0 ms 27.2 ms +-0.3 ms
mdp 3.32 sec +-0.02 sec 11.0 sec +-0.7 sec 5.53 sec +-0.09 sec 4.46 sec +-0.17 sec
meteor_contest 126 ms +-1 ms 344 ms +-23 ms 185 ms +-6 ms 178 ms +-2 ms
nbody 159 ms +-2 ms 489 ms +-36 ms 229 ms +-5 ms 277 ms +-13 ms
nqueens 108 ms +-1 ms 327 ms +-28 ms 168 ms +-6 ms 184 ms +-1 ms
pathlib 36.0 ms +-0.3 ms 58.8 ms +-7.2 ms 37.3 ms +-1.1 ms 27.2 ms +-0.8 ms
pickle 12.0 us +-0.1 us 28.6 us +-1.7 us 18.4 us +-0.8 us 15.7 us +-0.1 us
pickle_dict 30.9 us +-0.2 us 63.8 us +-2.9 us 43.0 us +-2.1 us 45.3 us +-0.2 us
pickle_list 3.92 us +-0.05 us 7.96 us +-0.46 us 5.58 us +-0.22 us 5.75 us +-0.08 us
pickle_pure_python 484 us +-7 us 1.40 ms +-0.15 ms 796 us +-32 us 788 us +-18 us
pidigits 208 ms +-1 ms 353 ms +-25 ms 298 ms +-9 ms 218 ms +-1 ms
pprint_safe_repr 1.08 sec +-0.01 sec 3.16 sec +-0.16 sec 1.68 sec +-0.06 sec 1.73 sec +-0.02 sec
pprint_pformat 2.23 sec +-0.02 sec 6.47 sec +-0.33 sec 3.42 sec +-0.08 sec 3.55 sec +-0.07 sec
pyflate 744 ms +-7 ms 2.21 sec +-0.09 sec 1.18 sec +-0.03 sec 1.29 sec +-0.02 sec
python_startup 11.7 ms +-0.1 ms 25.0 ms +-1.5 ms 17.5 ms +-0.7 ms 11.6 ms +-0.2 ms
python_startup_no_site 7.44 ms +-0.06 ms 15.9 ms +-1.0 ms 10.9 ms +-0.4 ms 7.26 ms +-0.19 ms
raytrace 519 ms +-6 ms 1.48 sec +-0.07 sec 823 ms +-18 ms 864 ms +-7 ms
regex_compile 193 ms +-2 ms 523 ms +-32 ms 306 ms +-8 ms 296 ms +-7 ms
regex_dna 215 ms +-1 ms 594 ms +-57 ms 272 ms +-6 ms 225 ms +-4 ms
regex_effbot 3.58 ms +-0.05 ms 10.5 ms +-1.6 ms 4.77 ms +-0.17 ms 4.70 ms +-0.05 ms
regex_v8 25.9 ms +-0.2 ms 79.3 ms +-12.6 ms 39.5 ms +-1.1 ms 35.7 ms +-0.3 ms
richards 83.1 ms +-1.0 ms 237 ms +-17 ms 129 ms +-5 ms 136 ms +-2 ms
scimark_fft 432 ms +-4 ms 1.28 sec +-0.11 sec 675 ms +-21 ms 578 ms +-6 ms
scimark_lu 181 ms +-3 ms 506 ms +-63 ms 269 ms +-9 ms 279 ms +-5 ms
scimark_monte_carlo 119 ms +-2 ms 339 ms +-25 ms 191 ms +-7 ms 172 ms +-2 ms
scimark_sor 214 ms +-4 ms 620 ms +-39 ms 350 ms +-10 ms 344 ms +-5 ms
scimark_sparse_mat_mult 5.94 ms +-0.06 ms 17.6 ms +-2.4 ms 8.45 ms +-0.29 ms 8.65 ms +-0.11 ms
spectral_norm 165 ms +-3 ms 496 ms +-50 ms 266 ms +-9 ms 271 ms +-4 ms
sqlalchemy_declarative 189 ms +-4 ms 526 ms +-46 ms 300 ms +-12 ms 228 ms +-5 ms
sqlalchemy_imperative 23.4 ms +-0.5 ms 68.1 ms +-9.4 ms 49.4 ms +-2.6 ms 34.6 ms +-1.4 ms
sqlglot_parse 2.31 ms +-0.04 ms 6.69 ms +-0.78 ms 3.68 ms +-0.07 ms 3.84 ms +-0.04 ms
sqlglot_transpile 2.73 ms +-0.04 ms 8.86 ms +-0.96 ms 4.32 ms +-0.14 ms 4.45 ms +-0.07 ms
sqlglot_optimize 73.0 ms +-0.6 ms 223 ms +-19 ms 117 ms +-4 ms 118 ms +-1 ms
sqlglot_normalize 150 ms +-1 ms 428 ms +-34 ms 241 ms +-7 ms 248 ms +-3 ms
sqlite_synth 3.10 us +-0.08 us 9.59 us +-1.05 us 4.50 us +-0.17 us 3.68 us +-0.11 us
sympy_expand 581 ms +-4 ms 1.60 sec +-0.09 sec 961 ms +-19 ms 909 ms +-10 ms
sympy_integrate 27.3 ms +-0.3 ms 79.1 ms +-6.6 ms 43.7 ms +-1.6 ms 38.7 ms +-1.4 ms
sympy_sum 217 ms +-3 ms 560 ms +-32 ms 364 ms +-26 ms 296 ms +-10 ms
sympy_str 356 ms +-3 ms 1.04 sec +-0.04 sec 613 ms +-15 ms 548 ms +-10 ms
telco 7.57 ms +-0.21 ms 20.2 ms +-2.4 ms 12.0 ms +-1.4 ms 8.88 ms +-0.14 ms
tornado_http 193 ms +-3 ms 441 ms +-40 ms HTTPTimeoutError 196 ms +-4 ms
unpack_sequence 69.7 ns +-2.4 ns 220 ns +-30 ns 103 ns +-3 ns 213 ns +-2 ns
unpickle 14.7 us +-0.1 us 40.3 us +-3.0 us 22.4 us +-0.8 us 21.9 us +-0.4 us
unpickle_list 4.84 us +-0.08 us 13.7 us +-1.2 us 7.83 us +-0.21 us 10.9 us +-0.2 us
unpickle_pure_python 344 us +-5 us 984 us +-129 us 536 us +-17 us 572 us +-9 us
xml_etree_parse 180 ms +-2 ms 581 ms +-48 ms 273 ms +-9 ms 217 ms +-6 ms
xml_etree_iterparse 120 ms +-2 ms 440 ms +-31 ms 199 ms +-8 ms 173 ms +-6 ms
xml_etree_generate 104 ms +-1 ms 316 ms +-23 ms 165 ms +-7 ms 155 ms +-3 ms
xml_etree_process 83.5 ms +-0.8 ms 267 ms +-17 ms 134 ms +-5 ms 131 ms +-4 ms

PyTorch Benchmarks

PyTorch, a machine learning framework originating from the Torch library, is widely used in applications such as computer vision and natural language processing. Initially developed by Meta AI, it is now part of the Linux Foundation’s broad project portfolio.

coming soon