Der Hosting-Anbieter Hetzner hat seit Kurzem ein flexibles und relativ preisgünstiges Hosting von virtuellen Servern im Angebot. Das Produkt nennt sich „Hetzner Cloud“. „Cloud“ deshalb, weil man nicht direkt fertige virtuelle Maschinen bekommt, sondern eine Umgebung, in der man flexibel seine VM konfigurieren kann. Man kann neben zehn Kombinationen von CPU Cores, RAM, HDD, Speicherart und Speicherart das Datacenter auswählen und die Linux Distribution auswählen. Die Konfiguration der Cloud geschieht in einer ansprechenden Web-Oberfläche. Wenn benötigt, ist die Konfiguration der Cloud auch per API möglich. Was mich positiv überrascht hat, ist die Geschwindigkeit, mit der ein neuer Server ausgerollt wird. Es dauert keine Minute, bis ein neuer Server online per SSH erreichbar ist. Ebenso schnell ist ein Server auch wieder zurückgebaut.
Mit Preisen zwischen 2,96€/Monat und 35,58€/Monat liegt das Angebot in einem attraktiven Rahmen. Um die Leistungsfähigkeit der Hetzner Cloud einschätzen zu können, wurden von sechs verschiedenen Serverkonfigurationen jeweils eine VM erstellt und verschiedene Benchmarks darauf ausgeführt.
Um die Ergebnisse der Benchmarks einordnen zu können, wurden zusätzlich zu den Hetzner Cloud VMs ein Strato vServer und ein Hardwareserver getestet.
Hier die getesteten Server (Stand 02/2018):
Server |
€/Monat |
RAM |
CPU Cores |
CPU MHz |
HDD |
Inodes
|
Hetzner Cloud cx11 |
2,96 €
|
2GB |
1
|
2100
|
20 GB |
1.224.000,00 |
Hetzner Cloud cx21 |
5,83 €
|
4GB |
2
|
2100
|
40GB |
2.448.000,00 |
Hetzner Cloud cx31 |
10,59 €
|
8GB |
2
|
2100
|
80GB |
4.888.000,00 |
Hetzner Cloud cx41 |
18,92 €
|
16GB |
4
|
2100
|
160GB |
9.768.000,00 |
Hetzner Cloud cx51 |
35,58 €
|
32GB |
8
|
2100
|
240GB |
14.656.000,00 |
Hetzner Cloud cx41-ceph |
18,92 €
|
16GB |
4
|
2100
|
160GB |
9.768.000,00 |
Strato vServer Linux V30-49 |
14,00 €
|
8GB |
4
|
2000
|
500GB |
6.000.000,00 |
Hardware Server Linux D400-68 |
54,00 €
|
16GB |
8
|
3300
|
220GB |
14.344.192,00 |
Die Hetzner Server cx11-cx51 unterscheiden sich nur in der unterschiedlichen CPU-, RAM- und HDD-Ausstattung. Die VMs basieren hier auf lokalen SSDs. Diese Konfigurationen sind auf Performance und weniger auf Hochverfügbarkeit ausgelegt. Im Gegensatz dazu bietet Hetzner alle Cloudserver auch noch als Konfiguration basierend auf dem verteilten Speichersystem CEPH an (cx41-ceph). Hier liegen die Dateien der VMs redundant im Netzwerk vor. Positiv fällt auf, dass die Inode Quota der Hetzner Cloud Server angemessen ist. Inodes braucht man z. B. bei einem rsnapshot Backup, bei dem jeder symbolische Link ein Inode verbraucht. Bei kleineren Strato vServern stößt man da schnell an Grenzen.
Auf den ersten Blick ist die Ausstattung der Server mit Festplattenspeicher schlechter als bei den Strato vServern. Dort hat ein Server für 14€/Monat 500GB Festplattenspeicherplatz. Bei Hetzner bekommt man dagegen für z. B. 18€ nur 160GB Speicherplatz. Das könnte für manche Anwendungen ein Problem sein, für die meisten kleineren Webserverprojekte etc. sollte dies aber keine Rolle spielen.
Alle Hetzner Server laufen mit Debian 9, PHP 7, Apache und MariaDB. Die Strato Server mit Debian 8, PHP 5, Apache und MySQL.
Webserver Benchmark mit AB (Apache HTTP server benchmarking tool)
Mit ApacheBench werden von einem Remote Server Websites auf dem zu testenden Server aufgerufen. Für eine feste Zeitspanne – hier 30 Sekunden – wird ermittelt, wie viele Websites der Server ausliefern kann. Als Website dient bei den Hetzner Servern eine TYPO3 8.6 CMS mit dem Bootstrap Instroduction Package. Bei den Strato Servern dient als Website ein TYPO3 7.6 CMS.
Das Benchmark-Tool wird bei jedem zu testenden Server mit drei unterschiedlichen Anzahlen von gleichzeitigen Request pro Zeitpunkt (Concurrency Level) aufgerufen.
(ab -kc XXX -t 30 http:/WWW.SERVERNAME.TLD/)
|
Concurrency Level 5
|
Concurrency Level 50
|
Concurrency Level 100
|
Strato vSserver |
2451
|
3851
|
3696
|
cx11 |
3180
|
4590
|
4564
|
cx21 |
3509
|
4990
|
4603
|
cx31 |
4105
|
5531
|
5336
|
cx41 |
4202
|
10081
|
9417
|
Hardware |
2702
|
10155
|
9609
|
cx41-ceph |
4752
|
10888
|
10983
|
cx51 |
4453
|
14818
|
15379
|
Da ApacheBench einen Stresstest auf einen Webserver ausführt, kommt dieser Benchmark einem realen Workload sehr nahe. Alle Serverkomponenten spielen hier eine Rolle bei der Leistungsfähigkeit.
Was direkt auffällt, ist die sehr gute ApacheBench-Leistung der Hetzner Server, die ab dem Modell cx41 selbst mit einem dedizierten Hardwareserver, der wesentlich mehr kostet, mithalten können. Das cx51-Modell übertrifft sogar die Leistung des Hardwareservers. Ebenfalls fällt auf, dass der CEPH-basierte Cloudserver cx41-ceph sogar eine bessere Leistung hat als sein Pendant mit lokalem SSD Storage.
Hinten, weit abgeschlagen, liegt der Strato vServer, den sogar das kleinste Hetzner Modell cx11 übertrumpft – und das nur für einen Bruchteil der monatlichen Gebühr.
SysBench MySQL
Sysbench MySQL simuliert einen realen MySQL Workload mit Lese- und Schreiboperationen.
(sysbench –test=oltp –oltp-table-size=1000000 –mysql-db=test –mysql-user=test –mysql-password=PASSWORD –max-time=60 –oltp-read-only=off –max-requests=0 –num-threads=[ANZAHL THREADS] run)
|
1 thread |
2 threads |
8 threads |
32 threads |
cx11 |
730
|
1476
|
5516
|
8591
|
cx31 |
708
|
1521
|
6320
|
13358
|
cx21 |
712
|
1508
|
6246
|
14122
|
Strato vSserver |
618
|
1557
|
5604
|
14189
|
cx41-ceph |
521
|
1101
|
4256
|
14734
|
cx41 |
682
|
1468
|
6322
|
20869
|
cx51 |
703
|
1477
|
6300
|
25601
|
Hardware Server |
892
|
1876
|
7522
|
29775
|
Was bei dem MySQL Sysbench Benchmark auffällt, ist, dass der Hardwareserver hier im Gegensatz zu dem Apache Benchmark leistungsmäßig an der Spitze steht. Die Anzahl der erreichten Transaktionen korreliert hier mit der Anzahl der CPU Cores. Bei zwei gleichzeitigen Threads liegen alle Server noch fast gleichauf. Bei höheren Anzahlen gleichzeitiger Threads sieht man hingegen die Auswirkung der CPU Core Anzahl immer deutlicher.
SysBench CPU Benchmark
Bei dem Sysbench CPU Benchmark wird Zeit gemessen, die benötigt wird, um eine bestimmte Anzahl (hier 10000) von Primzahlen zu verifizieren.
(sysbench cpu sysbench –test=cpu –cpu-max-prime=10000 –num-threads=XX run)
|
1
|
2
|
4
|
8
|
16
|
Hardware Server |
8,3
|
4,2
|
2,2
|
1,2
|
1,2
|
cx51 |
10,4
|
5,2
|
2,6
|
1,3
|
1,3
|
cx41-ceph |
9,1
|
4,7
|
2,4
|
2,4
|
2,4
|
cx41 |
10,3
|
5,2
|
2,6
|
2,6
|
2,6
|
Strato vSserver |
10,9
|
5,4
|
3,7
|
3,7
|
3,7
|
cx21 |
10,5
|
5,2
|
5,2
|
5,2
|
5,2
|
cx31 |
10,4
|
5,2
|
5,2
|
5,2
|
5,2
|
cx11 |
10,5
|
10,5
|
10,8
|
10,6
|
11,2
|
Wie zu erwarten, liegt hier der Hardwareserver mit seinen dedizierten CPU Kernen (und der höheren Taktfrequenz) bei dem Sysbench CPU Benchmark wieder an der Spitze. Das Verhältnis der Anzahl der CPU Cores zu der Ausführungszeit ist bei diesem Benchmark fast linear. Eine doppelte CPU Core Anzahl bedeutet eine halbierte Ausführungsdauer.
Fazit
Zusammenfassend betrachtet kann man sagen, dass die neuen Hetzner Cloud Server ein sehr gutes Bild abgeben – sowohl bei der IO-Leistung als auch bei der CPU-Leistung. Bei dem Apache Benchmark übertreffen die zwei größten Cloud Server Konfigurationen selbst den Hardwareserver. Dies hängt aber eventuell auch etwas mit der Leistungssteigerung von PHP 7 im Zusammenspiel mit TYPO3 8 zusammen. Auf den Strato Servern läuft noch Debian 8 mit TYPO3 7 und PHP5, da Strato Debian 9 für seine vServer immer noch nicht (02/2018) unterstützt.
Weiter kann man bei den durchgeführten Benchmarks keine Performance-Unterschiede zwischen den lokalen SSD Speichern und dem verteilten CEPH Speicher erkennen. Bei manchen Tests hatte der CEPH-basierte Server gegenüber seiner gleich konfigurierten Version mit lokalem SSD Speicher die Nase vorn.
Bleibt nur zu hoffen, dass die guten Benchmark-Werte nicht mit einem noch nicht voll ausgelasteten Virtualisierungs- und Speichersystem zu erklären sind. Sollten im Dauerbetrieb die Werte auf dem guten Niveau bleiben, dann wären die cx41 und cx51 Cloud Server eventuell eine Alternative zu einem wesentlich teureren Hardwareserver, bei gleichzeitig mehr Flexibilität und Featuren wie z. B. Snapshots.