Benchmark tussen DigitalOcean, Linode, Vultr, OVH en Hetzner VPS's (juni 2022)
Cloud providers vergelijken kan onmogelijk in een blogpost. Er zijn tal van factoren waarop cloud providers zich van elkaar onderscheiden. Denk maar aan prijs, geografische beschikbaarheid, aangeboden diensten, ondersteuning, performantie, enzovoort.
Cloud providers in allerlei maten en gewichten
Cloud providers zijn er in allerlei maten en gewichten. Een groep van "hyperscalers" bedient de rote ondernemingen en overheidsinstellingen. Denk hierbij aan Amazon AWS, Google Cloud en Microsoft Azure. Zij hebben wereldwijd tal van eigen datacentra om hun servers en netwerken te huisvesten.
Daarnaast bestaan de cloud providers wat zich richten op het middensegment, denk daarbij aan DigitalOcean, Linode, Vultr, OVH, UpCloud en Hetzner. Zij maken meestal - ook niet altijd - gebruik van bestaande datacentra waarin zij een ruimte huren om hun diensten uit te bouwen. Omdat ze dit op kleinere schaal doen en vaak geen volledige datacentra moeten onderhouden, kunnen zij vaak ook wereldwijd hun diensten aanbieden.
Als laatste, maar zeker niet als "minst belangrijke", vinden we de lokale cloud providers. Onder "lokaal" verstaan we de providers wat zich richten op een regionaal of klein internationaal publiek. Hierbij denken we aan tal van lokale providers zoals PCextreme, Combell, Snel.com en TransIP. Sommigen bouwden en onderhouden hun eigen datacentrum en servers, anderen liften mee op bestaande infrastructuur maar bouwden bijvoorbeeld wel hun eigen netwerk vanaf de grond op.
Zomaar een vergelijking opgooien tussen cloud providers, dat is dus bijna zoals appelen en peren vergelijken. Elke cloud provider bedient zijn eigen specifieke segment van de markt, elk op zijn eigen manier.
Wat we gaan vergelijken
In deze blogpost richten we ons op de technische vergelijking van het aanbod van enkele cloud providers uit het middensegment. Is dit een complete vergelijking? Neen, verre van. Wanneer je de keuze maakt voor een cloud provider, dan spelen veel meer factoren mee. Denk maar aan de prijs, de expertise van de provider, de stabiliteit van het platform en het netwerk, back-up mogelijkheden, de extra diensten zoals Kubernetes of gehoste databanken, de bereikbaarheid en het service niveau van de support desk. Om er maar enkele te noemen.
We focussen ons in deze vergelijking enkel en alleen op het technisch meetbare. Benchmarks dus. We nemen enkele, volgens het aanbod, technisch gelijkwaardige VPS's van een aantal providers en voeren daarop benchmarks uit.
Zo krijgen we een beeld van de performantie wat we kunnen verwachten. Maar nogmaals: de keuze van een cloud provider gaat veel verder dan alleen een technische benchmark. Maar, het is een start.
Deze vergelijking is gemaakt in juni 2022. Het aanbod, de technische kenmerken en de onderliggende hardware kunnen - en zullen - in de toekomst zeker veranderen.
We vergelijken het huidige aanbod van "gedeelde resources" VPS's van Hetzner, DigitalOcean, Linode, OVH en Vultr. VPS's met "gedeelde resources' hebben geen gegarandeerde resources (zoals CPU), maar delen dit met alle VPS's wat op de hypervisor draaien. Hierdoor kan een cloud provider meer VPS's op een hypervisor plaatsen, wat resulteert in een lagere kostprijs. De gedeelde resources VPS's zijn een ideale prijs/kwaliteit oplossing, als men rekening houdt met het feit dat de resources kunnen fluctueren doorheen de dag.
We namen telkens een VPS met 2 vCPU's en 4 GB RAM geheugen en kozen voor een Intel CPU als we de keuze kregen. De kostprijs ex. btw kwam neer op (USD werd omgerekend naar Euro):
Provider | Prijs / maand |
---|---|
Hetzner | € 4,9 |
DigitalOcean | € 18,9 |
Linode | € 18,9 |
OVH | € 4,9 |
Vultr | € 18,9 |
De gebruikte benchmarks
We voerden de benchmarks telkens uit op een Ubuntu 22.04 LTS installatie waarbij we gebruik maakten van de image wat door de cloud provider standaard aangeboden werd. Op het OS voerden we geen aanpassingen uit, we zorgden enkel dat het systeem up-to-date was.
Voor de benchmarks, gebruikten we Phoronix Test Suite v10.8.3. Telkens werden er minimaal drie tests doorlopen. De getoonde resultaten zijn steeds de gemiddelden van de tests. Wanneer de resultaten een afwijking (deviation) groter dan 3,5% hadden, dan werd de test opnieuw gedaan totdat de resultaten minder dan 3,5% van elkaar afweken.
De afwijking is belangrijk omdat deze VPS's bij alle providers op een gedeeld platform draaien. Zo is onder andere de CPU-tijd gedeeld tussen alle VPS's wat op die specifieke hypervisor draaien. Zoveel te meer VPS's de cloud provider op een hypervisor draait, zoveel te meer moet de CPU verdeelt worden over alle VPS's. Dus een hogere afwijking bij een CPU-test betekent dat de toegewezen CPU tijd fluctueert. Dit is echter een momentopname.
Resultaten
Benchmark: pts/apache (systeem)
This is a test of the Apache HTTPD web server. This Apache HTTPD web server benchmark test profile makes use of the Golang "Bombardier" program for facilitating the HTTP requests over a fixed period time with a configurable number of concurrent clients.
20 concurrent requests
Provider | Avg. requests / second | Deviation percentage |
---|---|---|
Hetzner | 7832 | 0,2 |
DigitalOcean | 6066 | 8,96 |
Linode | 8191 | 1,38 |
OVH | 8758 | 1,31 |
Vultr | 9549 | 2,35 |
100 concurrent requests
Provider | Avg. requests / second | Deviation percentage |
---|---|---|
Hetzner | 7897 | 0,2 |
DigitalOcean | 6271 | 5,27 |
Linode | 8391 | 1,38 |
OVH | 8549 | 1,31 |
Vultr | 9462 | 2,36 |
Benchmark: pts/apache-siege (system)
This is a test of the Apache web server performance being facilitated by the Siege web server benchmark program.
100 concurrent users
Provider | TPS | Deviation percentage |
---|---|---|
Hetzner | 6469,58 | 1,73 |
DigitalOcean | 4804,46 | 5,23 |
Linode | 8040,02 | 2,94 |
OVH | 6281,21 | 0,41 |
Vultr | 7805,93 | 1,84 |
250 concurrent users
Provider | TPS | Deviation percentage |
---|---|---|
Hetzner | 6188,7 | 0,65 |
DigitalOcean | 4718,58 | 2,96 |
Linode | 7225,88 | 0,44 |
OVH | 6121,77 | 0,25 |
Vultr | 7505,63 | 1,22 |
Benchmark: pts/phpbench (systeem)
PHPBench is a benchmark suite for PHP. It performs a large number of simple tests in order to bench various aspects of the PHP interpreter. PHPBench can be used to compare hardware, operating systems, PHP versions, PHP accelerators and caches, compiler options, etc.
Provider | Avg. score | Deviation percentage |
---|---|---|
Hetzner | 458346 | 1,78 |
DigitalOcean | 369716 | 1,96 |
Linode | 479499 | 0,69 |
OVH | 424739 | 1,56 |
Vultr | 596612 | 0,18 |
Benchmark: pts/build-linux-kernel (CPU)
This test times how long it takes to build the Linux kernel in a default configuration (defconfig) for the architecture being tested.
Provider | Seconds | Deviation percentage |
---|---|---|
Hetzner | 872 | 1,65 |
DigitalOcean | 1100 | 1,62 |
Linode | 642 | 0,53 |
OVH | 925 | 0,33 |
Vultr | 636 | 0,37 |
Benchmark: pts/stream (RAM)
This is a benchmark of Stream, the popular system memory (RAM) benchmark.
Type: copy
Provider | MB per second | Deviation percentage |
---|---|---|
Hetzner | 21125,9 | 10,73 |
DigitalOcean | 17871,5 | 1,54 |
Linode | 36640,9 | 2,07 |
OVH | 33142,8 | 5,8 |
Vultr | 20551,9 | 0,11 |
Type: add
Provider | MB per second | Deviation percentage |
---|---|---|
Hetzner | 23963,9 | 0,89 |
DigitalOcean | 17396,2 | 1,27 |
Linode | 23140,5 | 1,1 |
OVH | 21939,8 | 0,39 |
Vultr | 20767,8 | 0,6 |
Benchmark: pts/blogbench (storage)
Bench is designed to replicate the load of a real-world busy file server by stressing the file-system with multiple threads of random reads, writes, and rewrites. The behavior is mimicked of that of a blog by creating blogs with content and pictures, modifying blog posts, adding comments to these blogs, and then reading the content of the blogs. All of these blogs generated are created locally with fake content and pictures.
Read
Provider | Score | Deviation percentage |
---|---|---|
Hetzner | 274307 | 4,15 |
DigitalOcean | 230165 | 1,5 |
Linode | 275483 | 4,91 |
OVH | 219068 | 5,02 |
Vultr | 229746 | 0,96 |
Write
Provider | Score | Deviation percentage |
---|---|---|
Hetzner | 3723 | 2,25 |
DigitalOcean | 2217 | 6,98 |
Linode | 3537 | 4,17 |
OVH | 9937 | 0,29 |
Vultr | 8647 | 1,05 |
Benchmark: pts/postmark (storage)
This is a test of NetApp's PostMark benchmark designed to simulate small-file testing similar to the tasks endured by web and mail servers. This test profile will set PostMark to perform 25,000 transactions with 500 files simultaneously with the file sizes ranging between 5 and 512 kilobytes.
TPS = Transactions Per Second
Provider | TPS | Deviation percentage |
---|---|---|
Hetzner | 2631 | 1,05 |
DigitalOcean | 1937 | 3,06 |
Linode | 4195 | 2,41 |
OVH | 2737 | 0,63 |
Vultr | 3317 | 2,19 |
Benchmark: pts/speedtest-cli (netwerk)
This test profile uses the open-source speedtest-cli client to benchmark your Internet connection's upload/download performance and latency against the Speedtest.net servers.
Download
Provider | Mbps | Deviation percentage |
---|---|---|
Hetzner | 1788,27 | 30,92 |
DigitalOcean | 2293,7 | 34,08 |
Linode | 4226,01 | 10,01 |
OVH | 240,98 | 0,74 |
Vultr | 2056,07 | 35,34 |
Upload
Provider | Mbps | Deviation percentage |
---|---|---|
Hetzner | 1371,46 | 25,35 |
DigitalOcean | 1436,87 | 35,26 |
Linode | 2674,23 | 15,21 |
OVH | 233,23 | 6,76 |
Vultr | 1858,4 | 20,93 |
Latency
Provider | ms | Deviation percentage |
---|---|---|
Hetzner | 2,989 | 54,36 |
DigitalOcean | 3,465 | 53,09 |
Linode | 1,124 | 14,03 |
OVH | 7,049 | 23,98 |
Vultr | 1,234 | 49,87 |
Benchmark: yabs.sh (storage)
Met Yet-Another-Bench-Script voerden we nog een laatste disk test uit met 'fio' waarbij een mixed read/write test werd uitgevoerd. De cijfers zijn MB's per seconde.
Provider | 4k Read | 4k Write | 64k Read | 64k Write | 512k Read | 512k Write | 1m Read | 1m Write |
---|---|---|---|---|---|---|---|---|
Hetzner | 112,22 | 112,51 | 1280,00 | 1290,24 | 2539,52 | 2672,64 | 2795,52 | 2990,08 |
DigitalOcean | 82,73 | 82,95 | 466,26 | 468,71 | 868,57 | 914,72 | 943,64 | 1024,00 |
Linode | 129,57 | 129,92 | 1556,48 | 1566,72 | 2293,76 | 2314,24 | 2478,08 | 2641,92 |
OVH | 40,03 | 40,13 | 654,25 | 657,69 | 1095,68 | 1157,12 | 1054,72 | 1126,40 |
Vultr | 147,98 | 148,37 | 210,76 | 211,87 | 225,80 | 237,80 | 236,07 | 251,80 |