Hardware für Forum gesucht

peterle

Forenkasper
Ich hoste ja seit 20 Jahren ein Forum. Erst mit Vbulletin, dann auf Invision Power Board.

Zuvorletzt lief das auf zwei EX61 von Hetzner mit 64GB RAM, NVME und I7-8700, 6 Kerne, 12 Threads inkl. Hyper-Threading-Technologie.
Ein Serve davon hatte den Apache und einer MySQL.

Das war alles hinreichend schnell und gut.

Dann bin ich damit in die Cloud von Invision gezogen, weil ich weniger Arbeit haben wollte. Nur ist das da alles viel langsamer und viel schlechter erreichbar, als vorher, was vermutlich auch an Cloudflare liegt, was da intensiv genutzt wird und daran, daß das Forum "was größer" ist, was einige Funktionen an den Rand der Möglichkeiten brachte.

Nun überlege ich, ob ich das nicht wieder auf eigene Hardware ziehe und frage mich, womit ich die damalige Hardware heute ersetzen sollte bzw. ob es nicht Sinn macht statt Invision auf Xenforo oder Woltlab oder was anderes zu wechseln.

Nur FreeBSD, das bleibt als OS definitiv da drauf. ;)
 
Kommt natuerlich auch auf die Anbindung (Netzwerk und Datenbank) und auf die gleichzeitigen Zugriffszahlen an.

Ich bin seit Jahren ziemlich begeistert vom D Programming Language Forum. Etwas schnelleres ist mir noch nicht untergekommen. Aber eine Migration von Bestandsforen stelle ich mir da schwierig vor.
 
"

About​

This website is powered by DFeed, an NNTP / mailing list web frontend / forum software, news aggregator and IRC bot. DFeed was written mostly by Vladimir Panteleev. The source code is available under the GNU Affero General Public License on GitHub: https://github.com/CyberShadow/DFeed

This DFeed instance (forum.dlang.org) is a frontend to the DigitalMars NNTP server and mailing lists. Portions of the web interface (including style and graphics) are Copyright © by Digital Mars."

Das ist ja mal old school. Saucool! Ich fürchte nur es ist zu weit weg von dem, was Frauen so gerne bedienen wollen.
 
Bedienen laesst es sich ganz normal per Webfrontend. Man kann sich registrieren, dann auch einen Avatar hochladen und normal posten. Aber Foren haben die ganzen Zusatzfunktionen wie "Vorschau", "WYSIWYG-Editor", "Bookmarks", "Private Nachrichten", usw.

Ansonten finde ich z.B. das kostenlose Fediverse-Forensystem "NodeBB" ganz interessant, hier mal ein Beispiel: https://billboard.bsd.cafe/

Persoenlich verwende ich Flarum fuer eine kleine Community. Fuer grosse Communities wuerde ich aber auch auf sowas wie XenForo setzen.
 
Die Leistungsfähigkeit von Hardware ist da gar nicht mal so sehr der limitierende Faktor. Selbst langsame Hardware ist inzwischen extrem schnell. Oder so. Bei Cloud aller Art ist es häufig ein Problem, dass die Anbieter bis zur Kotzgrenze overcommitten, was es für alle langsam macht. Fragwürdige Indirektionen wie Cloudflare machen es dann nicht besser...

Wenn du nicht gerade zehntausende Zugriffe pro Minute hast, reicht in Sachen CPU eine der gängigen Achtkern-CPUs, die bei neuer Hardware inzwischen so ziemlich das sinnvolle Low End sind, aus. Wichtiger ist RAM, vor allem für die Datenbank und eine halbwegs belastbare SSD. Wobei das inzwischen auch prakisch alle sind. Wichtiger ist die Softwareseite:

  • Letztendlich sind auch in einem Forum die meisten Seiten weitgehend statisch. Man muss im Einzelfall prüfen, aber oft lohnt es sich vor den Webserver einen cachenden Reverse Proxy wie Varnish zu stellen. Ein kleiner Cache von 1 GB reicht meist schon aus, um einen Großteil der Zugriffe abzufangen, bevor sie zum Webserver kommen. Das senkt die Last hinten raus erheblich.
  • Ob Apache oder nginx ist Geschmackssache, das nimmt sich nicht viel. Bei Apache sollte man nur drauf achten, dass man mpm_event als Multi-Processing Module nimmt, da es das Event Handling dem Betriebssystem überlässt und gut über viele CPUs skaliert ohne Multi-Prozess Wahnsinn zu starten.
  • mod_php hatte seine Zeit, php-fpm mit im Vorfeld auf Halde gestarteten Workern und dadurch warmgelaufenen Caches ist das Mittel der Wahl. Das skaliert praktisch endlos bis ans CPU-Limit. Als netten Nebeneffekt erlaubt es den Webserver und PHP voneinander zu trennen.
  • Als Datenbank hat man meist MariaDB, außer man steht auf Oracles sterbendes MySQL. Dort ist es extrem wichtig und sicher 80% der Gesamtperformance, dass man etwas Zeit in die Konfiguration investiert und den Spagat schafft einerseits den zur Verfügung stehenden RAM so gut wie möglich auszunutzen. Denn jedes Bit, was im RAM geached ist, spart teure Dateisystemzugriffe. Das geht soweit, dass man die Menge RAM anhand der Datenbank kalkulieren sollte. Andererseits darf die Datenbank das System nicht in die Swap drücken, denn das tut richtig weh.

Das Ganze kann man auf mehrere Jails mit Ressource Limits (vor allem für den RAM, damit die Dienste sich nicht in Quere kommen) und Kommunikation über Sockets (schneller als lokales Netzwerk, andererseits wahrscheinlich in der Gesamtbetrachtung irrelevant) oder gleich mehrere Maschinen verteilen. Wenn man Redudanz über mehrere Maschinen möchte, kann Varnish das Load Balancing gleich miterledigen und man spart sich z.B. haproxy.
 
Zurück
Oben