Seit vielen Jahren betreiben wir unser Forum auf der Basis der Software „Phorum“. Trotz aller Performance-Probleme, die es immer wieder gab, blieb ich ihm treu, da diese nicht zuletzt auch dem massiven Traffic geschuldet sind und der Aufbau wesentlich angenehmer und flexibler ist als der das allgegenwärtigen phpBB.
Seit einigen Monaten haben wir für das Forum einen eigenen MySQL-Server eingerichtet und entsprechend zunächst weniger Probleme. In der letzten Zeit kam es jedoch zu einer Zunahme von „Hängern“. Erst stieg der MySQL-Server aus und anschließend waren oft auch http-Aufrufe auf dem anderen Server nicht mehr möglich.
Nicht, dass ich glaube, dass es irgend jemanden interessiert, sondern weil ich ohnehin irgendwo dokumentieren muss, was ich geändert habe, hier also die Liste der Maßnahmen:
- Die Suche im Forum auf Google umgestellt. Sicherlich keine schöne Maßnahme für die Besucher, da insbesondere die „Ego-Search“ sehr beliebt war, aber eben auch performance-fressend. Sollten andere Maßnahmen Abhilfe schaffen, wäre das sicherlich der erste Punkt, den man zurückbauen müsste
- PHORUM_MAX_NEW_INFO in /include/constants.php von 1000 auf Null gestellt. Damit „merkt“ sich Phorum, welche Mitteilungen ein Besucher noch nicht gelesen hat. Da diese Informationen nicht mehr wie bei Phorum 3.x in Cookies abgelegt werden, sondern in der Datenbank, tauchten in der MySQL-Prozessliste extrem viele Prozesse auf, die „DELETE FROM phorum5_user_newflags“ etc enthielten und jedesmal entstanden, wenn ein Besucher eine Mitteilung zum ersten Mal aufrief. Hoffentlich passiert dies nun seltener. Nachteil: Welche Mitteilung man gelesen hat und welche nicht, lässt sich nun nur noch unzuverlässig feststellen
- DNS-Look-Ups auf „Off“ gestellt. Diese Abfrage belastet zwar nicht den Server, fragt aber den DNS-Server ab und bis dieser antwortet, werden die Prozesse angehalten. Außerdem wird die „aufgelöste IP“ nach der DNS-Abfrage in der Datenbank gespeichert, also ein Schreibvorgang mehr.
- „Track User Usage“ hochgestellt auf „alle 5 Minuten. Bishar haben wir diesen Wert konstant abgefragt, was bedeutet, dass jedesmal, wenn jemand im Forum eintraf, der Counter neu justiert wurde. Nun bekommen wir die Daten alle 5 Minuten frisch, was ja auch ok ist, wenn´s denn hilft.
- Feeds abgeschaltet. Ich hielt RSS-Feeds eigentlich für eine gute Idee, zumal sie ja gecached werden. Da die Posting-Frequenz jedoch sehr hoch ist, kommt dies möglicherweise nicht ausreichend zum Tragen, wenn die Feeds regelmäßig abgefragt werden. Und mittlerweile gibt es ja sehr viele Dienste, die dies regelmäßig tun. Eigentlich schade, denn diese Funktion war sehr praktisch, auch wenn ich vermutlich der einzige war, der sie nutzte
- „Show New Count in Forum List“ abgeschaltet. Diese Funktion zeigt in der Forenübersichtsseite, wieviele Postings geschrieben wurden. Merkwürdigerweise sieht man diese Zahlen aber immer noch (evtl. aus dem Cache). Ein verschmerzbarer Verlust
Sollten sich meine Hoffnungen erfüllen und die Performance deutlich besser sein, dann werde ich testweise einen Schritt nach dem anderen zurückbauen, angefangen mit der Suche 😀
Das Problem sehe ich weniger in den PHORUM_MAX_NEW_INFO sondern wirklich das viele Userinnen die Suche mißbrauchen um die eigenen Beiträge zu verfolgen.
Evt sollte man die Möglichkeit nach dem eigenen Namen zu suchen abschalten 😉
Wenn mal Zeit ist kannst du den NSM ja mal anwerfen.
Das habe ich bereits getan. Im Profil habe ich den Link für die „Ego-Search“ entfernt.
NSM anwerf… keiner da… heute abend bin ich nicht da. Morgen wird sich das sicherlich ergeben.