Raspberry Pi 4B vs. Contabo VPServer Performance [Kommentar]
Was ist ein Raspberry Pi (Kurzform Raspi oder einfach Pi)?
Ein Raspberry Pi ist ein kleiner Computer. Wobei klein primär auf die Größe zutrifft. Die Leistung ist ziemlich beeindruckend. Der Pi hat 2x USB 3.0, einen microSD Karten Leser und 2xHDMI mit 4K Auflösung.
Im Privatbereich hat man (wenn man Handys mal außer acht lässt) primär mit x86 Computern zu tun. Der Pi basiert aber auf ARM Basis. Warum das durchaus ein relevanter Unterschied ist, werde ich in einem weiteren Blog Post darstellen, in dem es darum geht den Pi als Webserver zu verwenden.
Der Pi wird oft von Bastlern verwendet aber nachdem ich ihn nun in Aktion erlebt habe muss ich sagen, dass der Pi 4 für viele Bastelprojekte bereits reichlich überdimensioniert ist. Der Kleine hat ganz schön Power!
Der Pi bootet im Standardmodus von der SSD. Der Raspi ist selbst in der größten Konfiguration mit 4GB RAM für weniger als 60€ zu haben.
Allerdings bleibt es in der Regel nicht bei den 60€ (siehe unten).
Warum ein Raspberry Pi?
Aufgrund von der Kurzarbeit habe ich aktuell recht viel Zeit aber nicht mehr Geld und da man ja eh zu Hause bleiben soll(te) bieten sich halt Dinge an, die man zu Hause erledigen kann und die nicht so viel kosten.
Aufgrund der vielen positiven Eindrücke, die ich durch Berichte in der c’t oder auch im Web vom Raspberry Pi gewonnen habe, war ich schon eine Weile neugierig was man damit anstellen kann.
Etwas geprägt ist man von vielen Kommentaren im Netz, die sich oft auf ältere Versionen des Pi beziehen und ihn als zu langsam für xyz einstufen. Eins Vorweg und ich habe es oben Bereits erwähnt: Der Kleine ist ganz schön schnell und sehr energieeffizient. Man darf natürlich nicht erwarten, dass man damit einen vollwertigen Desktop PC ersetzen kann. Bei weniger als 10 Watt Gesamtverbrauch kann man das aber wohl auch nicht erwarten.
Boxenstopp
Das ein Beitrag entsteht, bei dem ein vollwertiger VPS (was auch immer das bei einem VPS bedeutet) gegen den kleinen Pi antritt, erschien mir vor meinen Erfahrungen nicht sinnvoll.
Bei einem “Computer” für 60 € habe ich nicht mit einem Performanzwunder gerechnet. Ich wurde aber positiv überrascht. Zugegeben ich habe den Pi auch nicht in der Standardkonfiguration benutzt. Ich habe ihn moderat übertaktet (CPU 1650 statt 1500 und GPU 600 statt 500 MHz – ohne Erhöhung der Spannung). Das sind aber nur etwas über 10% mehr.
Es sind aber (je nach Güte des Pi) Übertaktungen mit 2Ghz oder mehr möglich (etwas über 30%). Dann natürlich mit erhöhtem Strom Kühlungsbedarf. Die ersten zwei Tage habe ich den Raspi mit der Auslieferungsfirmware betrieben (mit etwas mehr Overclocking 1750 / 600 / Overvoltage 2) und er hatte unter Dauervollast gute 75°C.
Nachdem ich jetzt die aktuelle Firmware drauf habe (Achtung: Die Firmware kann / sollte man nur mit Raspian installieren – wenn man also wie ich Ubuntu drauf packt, sollte man zuerst Raspian installieren), begnügt er sich unter Vollast mit unter 60°C – im Schnitt sind es 45°C und bei 80°C drosselt er. So kann man ihn also bedenkenlos rund um die Uhr betreiben.
Mein Setup
Ich habe gesehen, dass Ubuntu 20.04 LTS für den Raspi 4 verfügbar ist. Da der Raspi zwei USB 3.0 Anschlüsse hat, kann man über eine dort angeschlossene SSD die Geschwindigkeit von Scheib- /Lesezugriffen deutlich steigern, speziell wenn man von der SSD bootet (das ist offiziell noch nicht vorgesehen, wenn man sich etwas auskennt aber nicht so schwer. Ich werde dazu noch einen separaten Blogpost erstellen – und ja, die microSD wird für den Kernel aktuell trotzdem benötigt, aber die Root Partition kommt von der SSD).
Ich habe den Raspi mit einem Pluggable NVMe / M2 Gehäuse kombiniert und dort eine M2 SSD eingebaut, die ich später z.B. auch in einem Notebook oder PC verwenden kann, wenn ich sie im Raspi mal nicht mehr benötigen sollte. Weiterhin kann man das Gehäuse + M2SSD auch als extrem Schnelle Mobile Transportmöglichkeit von Daten verwenden.
Als Dateisystem verwende ich auf der gesamten SSD Btrfs mit ZSD1 Komprimierung. Das sorgt für sehr gute Platzeffizienz aber vermutlich (etwas) geringere Schreibraten bei den Benchmarks.
Die Komponenten:
- Raspberry Pi 4B – ca. 60€
- HDMI Kabel – 10€
- iuniker Gehäuse (Passive Kühlung von USB, Power, RAM, CPU durch Metallblock) – 15€
- Originalnetzteil – 10€
- microSD Karte San Disk Extreme 64GB (Achtung, die SD Karte sollte über 40MB/Sekunde schreiben können (nicht nur lesen!) – 15€
- Optional: NVMe / M2 Gehäuse (mit Kühlung über das Gehäuse) – ca. 60€ (vergleichbare Gehäuse gibt es auch schon gut 20€ günstiger, dann allerdings nicht mit werkzeugloser Montage)
- Optional: WD SN550 M2 SSD 1TB – 140€ (je nach Zweck reicht auch halbe Größe oder noch weniger)
In Summe ca. 100€ für den Raspberry Pi 4B mit Zubehör und dann noch mal 200€ für die optionalen Teile, die der Pi nicht braucht und von der Geschwindigkeit ist zwar ein Sprung da aber keineswegs so groß wie der Preis es erwarten lassen würde. Darum ging es mir aber auch nicht bzw. das habe ich nicht erwartet. Eine Standard SSD reicht vollkommen für den Pi. Man benötigt aber in jedem Fall einen Adapter mit USB 3.0 Anschluss.
Wenn die nächste Generation USB 3.1 unterstützen sollte, dann wird die mögliche Geschwindigkeit noch mal deutlich gesteigert.
Der Pi kostet also in einem bereits ziemlich flotten Grundsetup etwas über 100€. Wenn man einzelne Teile wie die microSD Karte oder das HDMI Kabel schon hat, dann wird es etwas günstiger.
Update 03.07.2020
Die NVMe SSD würde ich für den Pi nicht mehr kaufen. Ich habe die primär gekauft, weil ich für eine zukünftige anderweitige Verwendung flexibel sein wollte. Im Nachgang wäre eine 2,5″ Sata SSD aber die bessere Variante gewesen. Das liegt daran, dass Sata SSD Gehäuse schon für 10€ zu haben sind und die SSD selbst auch minimal günstiger gewesen wäre. Weiterhin ist der Pi mit der Stromversorgung am Limit. der zweite USB 3.0 Slot ist nur noch mit einem Micro SD Kartenleser nutzbar. Selbst der Anschluss einer externen USB HD mit einer Stromversorgung sorgt zum Absturz mangels genügend USB Strom. Dem könnte man natürlich mit einem Hub entgegen wirken aber irgendwann macht der Pi dann auch keinen Sinn mehr, wenn man den Stromverbrauch zu sehr in die Höhe treibt.
Pi vs. VPServer – ist das nicht unfair?
Man sollte meinen, dass der Vergleich unfair ist aber der Raspi 4 ist teilweise erstaunlich nah an der VPS Performance dran. Zumal die Geschwindigkeit bei einem VPS je nach Tagesform und der Auslastung durch die Nachbarn auf dem VPS sehr stark schwanken kann.
In Einzelbereichen wie dem SSD Zugriff ist der PI immer deutlich schneller als der VPServer bei Contabo (das ist übrigens auch die größte Schwachstelle der Contabo VPServer).
Wenn man weiterhin überlegt was ein VPS mit SSD pro Monat kostet (mit brauchbarer Performanz und genügend SSD Speicherplatz ist man mit mindestens 5€ pro Monat unterwegs aber auch schnell bei 10 oder 15€), kann der Raspi sogar dazu genutzt werden – sehr kostengünstig – selber einen Webserver @home zu betreiben bzw. einen VPS zu ersetzen. Der Raspi wird im Regelfall auch nach Jahren noch seinen Dienst tun, da es keine Verschleißteile gibt.
Der Stromverbrauch ist ziemlich gering und auch nicht höher als zum Beispiel bei einer FritzBox. Selbst in einem Schlafzimmer kann man den Pi unterbringen, weil er sehr wenig heizt und keine Geräusche macht.
Der Betrieb als Webserver setzt einen entsprechend flotten Internetanschluss voraus. Die Anbindung des Raspi mit 1GBit ist viel schneller als die der meisten VPS Anbieter. Der RAM ist mit 4GB relativ klein (ich habe aber alle Anwendungen von meinem VPServer auf den PI gebracht und das schafft er spielend (Apache2, Nginx, MySQL 8, Elasticsearch, Proftp, Webdav, Samba, Postfix Mailserver, Dovecot, Nextcloud, Fail2Ban, FirewallD, Bind DNS, OpenDKIM, LDAP, Memcached, Redis, PHP, OpenVPN, Webmin).
Die Daten und Benchmarks Raspberry Pi vs. Contabo VPS
Vor einer Weile habe ich auch Ergebnisse von verschiedenen VPServern (Strato und Contabo SSD / HDD untereinander gegenübergestellt. Der Post dazu findet sich hier)
CPU
Sysbench – Raspbery Pi 4B CPU (CPU 1650 / GPU 600)
1637,79 * 4 = ca. 6551 (ja, ich weiß die Skalierung ist schlechter aber es dient primär zum Vergleich)
Sysbench – Contabo VPS 1400 – 6 virtuelle Kerne = 3 physische CPU Kerne
= 775,77 * 6 (ca.) = 4650 (ja, ich weiß die Skalierung ist schlechter aber es dient primär zum Vergleich)
Geekbench – Raspberry Pi 4B CPU (CPU 1500 / GPU 500) – nicht von mir Ermittelt, sondern aus Geekbench Datenbank, da Geekbench offiziell auf ARM nicht verfügbar ist
Geekbench – Contabo VPS 1400 – 6 virtuelle Kerne = 3 physische CPU Kerne
Zumindest beim Geekbench deutliche Vorteile für den VPS.
Memory
Sysbench – Contabo VPS 1400 – 20GB RAM
Sysbench – Raspbery Pi 4B – 4GB
Der VPS ist ca. 50% schneller aber wo / wann merkt man das? Auch hier also eher unentschieden.
IO / Schreib- / Leseperformanz
Anmerkung: Die Performanz bei einem VPS kann extrem schwanken. Das betrifft bei Contabo vor allem die IO Performanz (also die Schreib- / Leseraten). Ich habe selbst auf einem SSD Server Schreibraten Bandbreiten zwischen 20 und 150MB pro Sekunde gesehen. Das ist für eine SSD nebenbei bemerkt beides nicht toll.
Auf Contabo Festplattenservern habe ich die gleiche Bandbreite beobachtet allerdings ist die Latenz dort teilweise im Sekundenbereich. So schlimm ist es bei SSDs in der Regel nicht.
Ich werde ggf. noch einen separaten Thread dazu erstellen. Wenn man Contabo darauf anspricht wird der VPS ggf. auf einen anderes Host System umgezogen. Das liegt offenbar jeweils im Ermessen des Technikers.
Raspberry Pi 4B (4 Kerne, 1000GB SSD, 4GB RAM) – Btrfs mit ZSD1 Kompression
Contabo VPS L (8 Kerne, 800GB SSD, 30GB RAM) – ext4 ohne Kompression
Bei dem Test sieht der VPS ganz alt aus gegen den Pi. Besonders die Latenz ist oft um Faktor 5 bis 15 Höher als beim Pi.
Eindeutiger Sieger Pi.
WordPress DB Bench / PHP Bench
Raspberry Pi 4B (4 Kerne, 4GB RAM, CPU 1650, GPU 600)
Anmerkung der PHP Test mit 99,99 Sekunden ist kaputt. Der Pi ist so schnell, dass es vom Programm nicht messbar ist.
Bzgl. der SQL Performance ist anzumerken, dass ich die diversen MySQL Einstellungen an den RAM des Pi angepasst habe. Der VPS hat also deutlich mehr RAM zur Verfügung und 8 Kerne statt 4.
Contabo VPS L (8 virtuelle Kerne, 800GB SSD, 30GB RAM)
Anmerkung der PHP Test mit 99,99 Sekunden ist kaputt. Der VPS ist so schnell, dass es vom Programm nicht messbar ist.
Die 135 Queries pro Sekunde sind ein Durchschnittswert – ich habe auch schon 50 Queries pro Sekunde gesehen oder 250 (nur einmal) – immer auf demselben VPS Modell! Alles oberhalb von 50 ist aktuell ausreichend für meinen Blog.
Sieger in dieser Rubrik ist meist der VPS, manchmal ist der Pi aber sogar flotter.
Welche Vorteile hat ein Pi @home im Vergleich zu einem VPS bei einem Hoster?
- Hervorragende IO Performanz (die sollte der VPS lt. Werbung auch haben, hat er aber oft nicht.
- Physischer Zugriff – man kann Teile tauschen, ohne Webinterface neu starten, Geräte anschließen usw.
- Modernes Desktop Linux ohne VNC / RDP usw.
- Der Pi ist viel universeller – man finden unzählige Beispiele für Bastelprojekte, Homeserver für Filme, Musik usw.
Wo sind die Nachteile eines Pi 4B @home im Vergleich zu einem VPS bei einem Hoster?
Wo viel Licht ist, da gibt es auch Schatten. Einige Punkte sind offensichtlich und haben nichts dem Pi zu tun, sondern lediglich damit, dass man ihn von zu Hause betreibt.
- Wenn man Backups außerhalb des eigenen Hauses erstellen will (Stichwort möglicher Haus- / Wohnungsbrand), dann hilft es nichts den Pi zu Hause zu installieren (ironische Randnotiz: der Pi ist natürlich ein weiteres Gerät, dass man ggf. rund um die Uhr betreibt und die Gefahr eines Brandes minimal erhöht).
- Der Pi belastet die eigene Leitung (primär im Upload). Andersrum kann der Pi ggf. von außen fast nicht erreichbar sein, wenn man selber etwas ins Internet hochlädt.
- Wie oben angemerkt, basiert der PI auf ARM Architektur. D.h. nicht jedes Programm läuft. Ich bin bisher nur auf sehr wenige Programme / Bibliotheken gestoßen, die ich brauche und die nicht laufen – Beispiele – Teamspeak, Geekbench, Collabora Online, Google Pagespeed, Elasticsearch (das läuft mit Tricks, bei mir läuft die Software nun mit Version 7.4). Teilweise bekommt man die Programme mit Emulatoren zum laufen aber das ist oft ineffizient und instabil.
- Einen DNS Server oder Mailserver wird man nur mit einer festen IP betreiben können. Die bietet nicht jeder Heimanschluss.
- Stromkosten wobei die (ich habe nicht selber nachgerechnet lt. einer Beispielrechnung selbst bei durchgehender Vollast bei unter 20€ pro Jahr liegen sollen). Ald Webserver liegt der Pi eher bei 25% Last. Auch das RAM ist in der Regel nur zur 50-75% gefüllt (je nach Einstellungen).
- Lenkt ggf. Script Kiddies oder andere Angreifer auf die eigene IP Adresse
- Der Zeitaufwand einen Pi aufzusetzen ist geringer als bei einem VPS Server – speziell wenn man dort ein fertiges Image mit Plesk nutzt (was die Kosten noch mal >5€ pro Monat hoch treibt). Mit etwas Erfahrung ist der Zeitverlust aber überschaubar.
Fazit:
Was als Experiment und ausschließliche Backuplösung begonnen hat, hat sich nach nun ca. 4 Tagen zu einem vollwertigen Server entwickelt. Natürlich kann der Pi nicht mit einem Desktop PC mithalten. An der Leistung eines VPS in einigen Bereich erstaunlich nahe dran und die beiden VPS, die ich zum Vergleich genutzt habe kosten immerhin 13 bzw. 15€ pro Monat. Ein Pi amortisiert sich also ruck zuck im Vergleich. Selbst in der oben dargestellten Luxusausstattung hat sich der Pi in weniger als 2 Jahren amortisiert.
Aufgrund der ARM Architektur habe ich mich aber zu einer vollständigen Neuinstallation von allen Programmen entschlossen. Mir war das Risiko zu groß beim Kopieren vom x86 Server nicht lauffähige Elemente auf den Pi zu bringen. Lediglich die Konfiguration habe ich an vielen Stellen als Vorlage genutzt.
Der Pi 4 ist auf jeden Fall weit mehr als Bastelei oder Machbarkeitsstudie. Wenn es um einen günstigen Rechner zum Surfen und ab und an Officeanwendungen geht, kann man den Pi absolut empfehlen. Für 100€ bekommt man eine Menge geboten. Selbst für die Eltern, die außer ein wenig Office und Surfen nichts machen ist der Pi eine Gute Lösung. Günstiger geht es zumindest nicht.
Update 03.07.2020:
Nachtrag: Im Praxisbetrieb mit einer recht großen WordPress Seite und vielen Plugins ist der Pi, trotz der recht guten Daten gerade beim initialen Seitenaufbau (also dem Abarbeiten des PHP Codes) verhältnismäßig langsam. Dafür ist die Rechenpower dann doch zu gering. Für einen WordPress Server würde ich also mehr Rechenpower empfehlen, wenn man nicht gerade ohne Plugins arbeitet. Eine Alternative zum Pi ist der Odroid H2+, der sogar als vollwertiger NAS nutzbar ist und deutlich mehr Power hat (gut 2x so schnell wie der Pi + AES Unterstützung und x86 Architektur).
Eine 50GB Nextcloud Installation läuft aber gut (einschließlich Indexierung und Suche). Man muss also den jeweiligen Anwendungsfall anschauen.
Für mich ist das so aber vollkommen ok, weil ich damit keinen VPS ersetzen wollte, sondern nur die Funktionalität des VPS weitgehend auf dem Pi haben wollte zwecks Tests und Backup.