Meiner Meinung nach solltest du besser auf den kommenden Raspberry Pi 5 warten, der – wenn man den Fortschritt der Pi-Leistung von Modell 2 über 3 zu 4 fortschreibt – wahrscheinlich genug Power haben wird, um Discourse auszuführen.
Ich bin mir auch nicht sicher, ob die x86- (x64?) Abhängigkeiten derzeit überwindbar sind, aber es ist keine schlechte Idee, das langfristig zu prüfen.
Ein Cluster aus Pi 4 mit 64-Bit-Vierkern-Prozessor bei 1,5 GHz und möglicherweise USB3-Festplatten für den Speicher (~300 MB/s) oder einem externen Blob-Speicher (S3 oder GCP), sowie einem CDN vor diesen anonymen Nutzern, könnte eine mögliche Plattformalternative sein Die Zukunft wird es zeigen!
Das ist für sich genommen keine wirklich aussagekräftige Zahl.
Du hast nicht angegeben, welche microSD-Karte es war, aber sie liegt in derselben Größenordnung wie eine Lexar Professional 1800x, die sequenzielle Lesezugriffsgeschwindigkeiten von etwa 300 MB/s und Schreibgeschwindigkeiten von knapp 250 MB/s aufrechterhalten kann. Bei microSD-Karten sind sequenzielle Lese- und Schreibvorgänge jedoch nicht das Problem. Um ein echtes Gefühl dafür zu bekommen, was bei mehreren Benutzern passiert, die auf die Datenbank und lokale Assets zugreifen, musst du die Zufallszugriffe (random reads/writes) betrachten.
Moderne SSDs liegen meist im Bereich von 500 MB/s+ bei sequenziellen Lesezugriffen und 475 MB/s+ bei sequenziellen Schreibzugriffen – das ist nicht allzu weit von den oben genannten Zahlen entfernt. Der Leistungsunterschied bei Zufallszugriffen ist jedoch enorm: Dieselbe SSD erreicht bei einem 4KiBQ8T8-Test bis zu 400 MB/s, während die Lexar auf niedrige zweistellige Werte fällt, bei etwa 15 MB/s. Bei Zufallsschreibvorgängen sieht es noch schlimmer aus: Die SSD hält weiterhin bis zu 300 MB/s aufrecht, während eine microSD-Karte tief in den einstelligen Bereich fällt (2 MB/s).
Ich bin ein großer Fan des rPi und verwende ihn an vielen Stellen, aber er ist noch weit davon entfernt, dort zu sein, wo wir ihn haben möchten.
Es ist eine Sandisk 64GB-Karte für 20 USD (in Schweden), meiner Erinnerung nach mit A2-Bewertung. Ich wollte nur zeigen, dass die reine sequenzielle Geschwindigkeit nicht so schlecht ist, wie du es klingen ließest
Wenn sie nicht einmal mit einer externen SSD an den USB3-Ports am rPi funktioniert, würde ich annehmen, dass ein externer Datenbankbetrieb dieses spezifische Flaschenhalsproblem lösen würde. Ich bin jedoch voreingenommen, da ich die Idee mag, einen ARM-Cluster mit den jetzt echten 1-Gbit/s-Netzwerkkarten am Pi 4 zum Laufen zu bringen. Außerdem mag ich es, die „es funktioniert nicht“-Mentalität im Allgemeinen herauszufordern
Wenn man genug Zeit, Geld und Ressourcen in etwas steckt, kann man es zum Laufen bringen.
Anfragen, Discourse auf einem Raspberry Pi zu betreiben, stammen in den letzten Jahren typischerweise von Nutzern, die einen Pi besitzen und darüber hinaus nichts ausgeben möchten. Genau das untersuchen wir hier.
Sobald du externe SSDs anschließt und die Datenbank auf ein anderes System auslagerst, sprichst du gar nicht mehr wirklich davon, Discourse auf einem Raspberry Pi zu hosten.
Nimm ein Raspberry Pi 4 mit 4 GB oder 8 GB RAM . Besorge dir dann eine MicroSD-Karte (INDUSTRIELL) bei Amazon, eBay usw.
Schreibe das Image von Docker von der Website: https://blog.hypriot.com/ – genau in den Bereich: Download, neueste Version.
Sobald das Image auf die SD-Karte geschrieben ist, stecke sie in das Raspberry Pi und verbinde dich per SSH. Die Zugangsdaten für Docker-SSH lauten: Benutzername „pirate
ich habe deine Anweisungen befolgt, Hypriot installiert usw., aber folgenden Fehler erhalten:
$ ./launcher bootstrap app
standard_init_linux.go:211: exec user process caused "exec format error"
Deine Docker-Installation funktioniert nicht ordnungsgemäß.
Siehe: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
Anscheinend habe ich mich geirrt, als ich daraus schloss, dass Massym Discourse erfolgreich auf einem Raspberry Pi 4 zum Laufen gebracht hat. Beim erneuten Lesen seines Beitrags stellt er das nicht ausdrücklich fest. Eine große Zeitverschwendung meinerseits, aber immerhin eine Lerneinheit.
Welche spezifische Komponente in Discourse wird nicht unterstützt? Ich und ich bin sicher, viele andere wären sehr daran interessiert, es zum Laufen zu bringen.
Ich freue mich darauf, das in Aktion zu sehen. Eines meiner Foren, das auf Discourse läuft, ist der letzte Punkt, der noch offen ist, während ich auf einen Raspberry Pi 4-Cluster umsteige, der unendlich weniger Strom verbraucht als der Intel-basierte Server.
Bump, gab es Fortschritte beim v8-Gem für ARM? Ich habe versucht, die Images zu kompilieren, bin aber immer bei diesem Gem steckengeblieben. Es ist etwas kompliziert, da die Skripte meist scheitern, weil sie versuchen, X86_64-Tools (für den Build) herunterzuladen und auf ARM auszuführen…
ARM auf Servern (und in Ruby) wird dank des fantastischen M1-Chips von Apple, der endlich in einem echten Laptop erschienen ist, sehr bald große Fortschritte machen.
Das Raspberry Pi selbst – selbst das deutlich verbesserte Modell 4 – ist jedoch als Server völlig unterdimensioniert. Laut diesem Beitrag und den Speedometer-2.0-Ergebnissen…
Demnächst zu sehen: Ich habe bereits andere Rails-Anwendungen auf einem Raspberry Pi 4 ausgeführt und war mit der Leistung zufrieden, aber ich muss zugeben, dass diese viel einfacher waren als Discourse.