Viele CPU-Kerne oder schnelle Kerne?

Unsere Community verzeichnet hohe Traffic-Spitzen aufgrund realer Ereignisse – genauer gesagt Eishockeyspiele, die in etwa 2,5 bis 3 Stunden rund 1.000 Nachrichten in einem dedizierten Thema generieren. Wie in einem anderen Thema diskutiert, haben wir Schwierigkeiten, mit diesen Spitzen umzugehen.

Dies hat mich dazu veranlasst, andere Hosting-Optionen mit begrenztem Budget zu prüfen. Das Ziel liegt bei etwa 50 € pro Monat. Der Markt hat sich seit meiner letzten Untersuchung der Angebote weiterentwickelt.

  • Für nur 42 € erhalten Sie einen dedizierten Server von Hetzner mit einem Ryzen 5 3600-Prozessor. Das ist ein recht leistungsstarker CPU mit 6 Kernen. Zufällig verfüge ich auf meinem Laptop über einen ähnlichen Prozessor, der Single-Thread-Berechnungen etwa 40 bis 50 % schneller ausführt als eine typische gut performende VPS.
  • Im gleichen Preissegment können Sie jedoch auch eine VPS mit einer großen Anzahl an Kernen, aber etwas geringerer Leistung pro Kern, erwerben. Contabo bietet beispielsweise 10 Kerne für nur 27 $ an, während Hetzner bis zu 16 Kerne für 62 € liefert. Dies sind nur Beispiele; es gibt viele weitere Anbieter.

Diese Angebote haben mich dazu gebracht zu überlegen, welche Kernkonfiguration für Discourse ideal ist, um die Spitzenauslastung zu maximieren: Weniger Kerne mit höherer Leistung oder viele Kerne?

Ich habe danach gesucht und dabei hauptsächlich meine alten Beiträge gefunden :slight_smile: . Ich erinnere mich, dass dies in den frühen Tagen hier und da thematisiert wurde, aber in letzter Zeit nicht ausführlich diskutiert wurde. Viel Code hat sich im Laufe der Jahre geändert, sodass sich möglicherweise auch das Verhalten der Software oder allgemeine Empfehlungen geändert haben?

Du hast recht, es sind alte Beiträge, aber der Trend scheint konsistent zu sein :thinking:

Wie wäre es mit einer skalierbaren Instanz für die Spieleabende? Mit etwas Ausfallzeit ist es einfach, ein Backup zu erstellen und die Instanz größer oder kleiner zu skalieren. Ich hatte ein ähnliches Problem mit einer Jitsi-Instanz (großartige Komponente btw :smile:); die meiste Zeit tat sie nichts, aber ein paar Mal pro Woche…

Es ist schwierig, eine Anleitung zu geben, ohne genau zu wissen, was aktuell die Engstelle ist, der Sie gegenüberstehen.

Die Verwendung des Prometheus-Exporter-Plugins für Discourse kann genau aufzeigen, welche der vielen Komponenten das Problem darstellt.

Obwohl ich unseren Fall im OP vorgestellt habe, war die Absicht, dies auf einer allgemeinen Ebene zu diskutieren. Möglicherweise werde ich mittelfristig auf dem Hosting-Markt tätig, unabhängig davon, ob ich unseren Grundfall identifiziert habe oder nicht.

Für Discourse sollten Sie schnelle Kerne mehr Kernzahl bevorzugen. Wenn Sie beides haben können, ist das noch besser (für Lastszenarien). Im typischen Fall werden jedoch 2 schnelle Kerne insgesamt besser abschneiden als 4 langsame Kerne.

Wir messen dies in der Build-Zeit, hier sind einige Beispiele. Aber auch jeder Single-Thread-Benchmark funktioniert.

Idealerweise liegt die Build-Zeit unter 4 Minuten (240 Sekunden).

Ich bin zwar kein Experte auf diesem Gebiet, aber ich bin mir nicht sicher, ob die virtuellen Kerne eines VPS überhaupt mit den physischen Kernen einer CPU vergleichbar sind. Ich schätze, um eine grobe Annäherung zu erhalten, könnte man die angebotene RAM-Menge betrachten und davon ausgehen, dass diese VPS auf einem Computer mit 256 MB RAM laufen. Contabo bietet mit seinen „10 (virtuellen) Kernen

Als ich mir dieses Angebot ansah und dachte: :face_with_monocle: Hmm, ein gutes Geschäft, fiel mir auf, dass der RAM kein ECC hat. Eine kurze Internetsuche, und was taucht auf? dieser Blogartikel von Jeff :sweat_smile:
Das Video über die CPUs hat mir den Tag gerettet…

Wow, ich hoste bereits bei Hetzner, aber zu einem höheren Preis mit einer langsameren CPU und weniger Speicher als deren aktuelle Ryzen-Server. Das macht einen Wechsel sehr interessant… danke für den Hinweis!

Danke für den Blog-Link. Das war eine gute Lektüre.

Ich stimme auch zu, dass ein Bild mehr als tausend Worte sagt und nun ja… auch sehr lustig ist.

Hat jemand bereits Tests mit verschiedenen CPUs bezüglich der Größe des L3-Caches durchgeführt?

Ich habe einige Hinweise gesehen, dass Ruby sehr speicherintensiv ist. Das könnte einen Hinweis auf den möglichen Einfluss der CPU-Cache-Größe geben, da Discourse mit großen Datensätzen arbeitet.

Ich stehe vor der Entscheidung für einen neuen Server und muss die richtige CPU auswählen. Ich überlege, ob ich mich für die höchste Taktfrequenz entscheiden soll oder auch die Größe des L3-Caches berücksichtigen sollte.

Derzeit schaue ich mir die Intel® Xeon® E-2174G mit 4 Kernen bei 3,8 GHz und 8 MB Cache an. Es gibt jedoch teurere Optionen mit 12 MB oder 16 MB Cache. Sind diese ihr Geld wert?

Danke!

Meiner Erfahrung nach wird das keinen signifikanten Unterschied machen.