Diskussion zu Lastprobleme - phpBB.de wächst

Projekte der phpBB.de-Community und Feedback zu phpBB.de.
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Diskussion zu Lastprobleme - phpBB.de wächst

Beitrag von itst »

Hier könnt ihr eure Meinung zu Lastprobleme - phpBB.de wächst abgeben.
Es macht riesigen Spaß, phpBB.de wachsen zu sehen. Wir sind mittlerweile bei über 550 neuen Beiträgen pro Tag angekommen und verzeichnen einen Mitgliederzuwachs von 730 pro Monat.

Auch in Hits gemessen wächst phpBB.de - seit Anfang des Jahres haben sich die Zugriffszahlen (inkl. Traffic) verdoppelt - Wahnsinn :D

Allerdings hat dieses schnelle Wachstum auch einen Nachteil. Wir Ihr sicher schon bemerkt habt, verzeichnen wir über den Tag verteilt immer wieder Lastspitzen, die den MySql-Server in die Knie zwingen. Technisch gesehen liegt das an langsamen DB-Abfragen, die Verbindungen zum MySql-Server verstopfen. Das führt dazu, der MySql-Server irgendwann eine bestimmte Anzahl von offenen Verbindungen zählt und sagt "So, jetzt isses genug. Ich nehme keine neuen Verbindungen mehr an." Und schon kommt die allseitsbeliebte Fehlermeldung "Too many connections."

Was kann man dagegen tun?

Dickeren Server kaufen. Wäre eine Möglichkeit. Jedoch würden wir damit nur die Symptome bekämpfen, nicht die Ursachen beseitigen.

MySql auf einen extra Server auslagern. Siehe oben ;)

Eine andere Datenbank benutzen. Bitte keinen Glaubenskrieg. MySql ist das DBMS, mit dem wir die meisten Erfahrungen haben (von Tamino mal abgesehen) und von dem wir am besten wissen, was wir wo drehen müssen.

phpBB ist schuld - benutzen wir also ein anderes Forum. Just kidding :D phpBB ist nicht wirklich schuld. Bis auf die Suche und die Jumpbox (und um die habe ich mich bereits gekümmert) ist phpBB ziemlich performant.

Woran liegts denn dann?! An den installierten Extras. Zum einen ist da die Karte - die ich bis auf weiteres deaktiviert habe. Die Karte wurde einfach nicht für über 1500 Benutzer-Datensätze (über 1500 Mitglieder nutzen die Karte) gemacht. Sie wird bei jedem Aufruf volldynamisch neu erstellt, ist zoombar, verschiebbar und weiß der Geier was noch alles. Die Datenbankabfrage, mit der die Benutzerdaten abgeholt werden läuft im wahrsten Sinne des Wortes ewig - und blockiert so wertvolle Verbindungen zum MySql-Server. Selbst in lastarmen Zeiten (morgens zwischen 4 und 5) braucht die Karte zwei bis drei Sekunden zur Fertigstellung.
Bis ich einen Weg gefunden habe, die Karte schneller zu generieren, bleibt sie leider deaktiviert.

Dann wäre da noch das RDF. Das Ding ist zu einem großen Teil auf meinem Mist gewachsen - und auch hier muss ich sagen, das ich es nicht für 1300 Aufrufe pro Tag (das ist fast ein Aufruf pro Minute) geschrieben habe. Das RDF ist ebenfalls hochdynamisch und vom Benutzer sehr stark steuerbar: Anzahl der Posts, Foren, mit oder ohne Text, Formatierungsmöglichkeiten und und und.
Auch hier habe ich die Reißleine gezogen und das RDF abgespeckt. In Zuklunft wird phpBB.de zwei RDF anbieten: ein RDF über das Ankündigungsforum und eines mit neuen Themen. Beide werden nicht mehr dynamisch erstellt, sondern nur noch alle vier Stunden bzw. alle 30 Minuten. Aus meiner Erfahung mit eRONA und ihren Nutzern heraus kann ich sagen, das dies ein guter Rhythmus ist.

Hier noch die neuen URL für die RDF-Feeds:
Ankündigungsforum (News), alle 4 Stunden neu: http://www.phpbb.de/rdf/rdf-news.php
Aktuelle Themen im gesamten Forum, alle 30 Minuten neu: http://www.phpbb.de/rdf/rdf-topics.php

Wollen wir also hoffen, die diese Maßnahmen den gewünschten Effekt zeigen, drückt mir (und Euch selbst :)) die Daumen.
Kiss News
Mitglied
Beiträge: 1640
Registriert: 31.05.2004 02:04
Wohnort: Österreich
Kontaktdaten:

Beitrag von Kiss News »

Also ich habe mein Forum vor 3 Monaten angefangen und bin von den Möglichkeiten des PHP und des Forums begeistert, hätte ich mir nie gedacht, dass man soviel damit machen kann. Vorher wusste ich gar nicht, was PHP überhaupt wirklich ist bzw. sein soll, bis ich einmal ein Forum entdeckte... :roll:

Und ich hätte mir auch nie gedacht, dass ich ohne PHP Kenntnisse mein Forum doch so hinbringen werde, wie ich will, alles Dank der tollen Unterstützung hier :P

Ich sehe in letzter Zeit immer mehr Seiten in PHP und das wird sich sicher noch steigern, kann mir gut vorstellen, dass in einiger Zeit mehr Leute PHP Seiten haben als HTML... :D
Bis ich einen Weg gefunden habe, die Karte schneller zu generieren, bleibt sie leider deaktiviert.
Das würde mich auch sehr interessieren, da ich möglicherweise auch früher oder später das gleiche Problem haben könnte. Gibt es diese Verbesserung dann vielleicht als Mod?

P.S.: mein Daumen ist gedrückt :D
Benutzeravatar
Mafia GmbH
Mitglied
Beiträge: 355
Registriert: 13.10.2003 16:09

Beitrag von Mafia GmbH »

Naja, das kann man woll durch so viele Besucher nicht vermeiden :grin:
Und ich finde es ist ganz gut so das es sooooo viele Besucher immer wieder neu kommen.

Zwar habe ich z.Z. überhaupt keine Ahnung über PHP und so, aber ich denke es ist machbar.
Also mein Vorschlag:
Wie währe es wen PHP Forum 2 verschidene Datenbanken nutzen könnte, wo vierschidene Funktionen gleichmäsig auf die zwei Datenbanken verteilt werden. Theoretisch könte man dan doppelt so viele Zugriffe erlauben. oder?
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

@itst
schau dir mal Categories Hierarchy an.
Du sollst nicht den Subforen mod installieren :D sondern mal nach dem Cache mod schauen der dabei ist. Da dort einiges in eine php datei geschrieben wird (Foren Struktur, User Statistiken usw) sollte das in eurem Fall schon das Forum beschleunigen :wink:
Ich hoffe mal es hilft dir nen bißchen :)

MfG
Dave
RubberDuck
Mitglied
Beiträge: 460
Registriert: 09.07.2003 16:52
Wohnort: ROW
Kontaktdaten:

Re: Lastprobleme - phpBB.de wächst

Beitrag von RubberDuck »

itst hat geschrieben:Was kann man dagegen tun?
Erstmal die teilweise "unnützen" DB Zugriffe von PHPBB rauswerfen :-) Ne, aber Spass beiseite ....
Dickeren Server kaufen. Wäre eine Möglichkeit. Jedoch würden wir damit nur die Symptome bekämpfen, nicht die Ursachen beseitigen.
Nun wenn Du die Ursachen beseitigen willst dann bleibt es Dir nur entweder das Forum umzubauen oder die User zu kicken. Du musst also doch bei den Symtomen ansetzen.
MySql auf einen extra Server auslagern. Siehe oben ;)
Das bringt nicht viel wenn der Server kpl. extern steht. Um dadurch einen direkten Vorteil zu haben müsstest Du den MySQL Server direkt ansprechen können, also über eine 2. Netzwerkkarte direkt anbinden.
Woran liegts denn dann?! An den installierten Extras.
Wobei Du wieder bei den Ursachen wärst.
Wollen wir also hoffen, die diese Maßnahmen den gewünschten Effekt zeigen, drückt mir (und Euch selbst :)) die Daumen.
Wie gesagt, die Eierlegendewollmilchsau wird es auch hier nicht geben. Bei den Ursachen hast Du nur 2 Möglichkeiten wo Du nur schwer ansetzen kannst. Aber die Symtome lassen sich sicher gut einschränken.

Wir haben für ein anderes großes Forum mal mehrere Lösungen entworfen und umgesetzt, z.B. die Aufteilung des ganzen auf 3 Server. Das hat dann gleich mal 40% gebracht. Allerdings wie oben geschrieben waren diese dann direkt Verbunden.

Falls Hilfe gewünscht, melde Dich einfach.
VARAN-eV.de - V.A.R.A.N. e.V. - Verein für Artenschutz der Reptilien- und Amphibienhalter Norddeutschlands
Terra-Nord.de - Der Terraristik Stammtisch im Norden
ReptilienManager.de - Die Online Reptilien Verwaltung
RubberDuck
Mitglied
Beiträge: 460
Registriert: 09.07.2003 16:52
Wohnort: ROW
Kontaktdaten:

Beitrag von RubberDuck »

Dave hat geschrieben:sondern mal nach dem Cache mod schauen der dabei ist. Da dort einiges in eine php datei geschrieben wird (Foren Struktur, User Statistiken usw) sollte das in eurem Fall schon das Forum beschleunigen
Caching ist zwar gut und auch erforderlich, kann aber bei großen Sachen auch eine Bremse sein, weil Du unter Umständen nicht genügend "Freie Zeit" hast um das dann alles abzuarbeiten.

Zumal das Schreiben in Dateien nicht gerade so besonders ist. Da würde sich das Verknüpfen von mehreren DBs schon mehr anbieten.
VARAN-eV.de - V.A.R.A.N. e.V. - Verein für Artenschutz der Reptilien- und Amphibienhalter Norddeutschlands
Terra-Nord.de - Der Terraristik Stammtisch im Norden
ReptilienManager.de - Die Online Reptilien Verwaltung
Benutzeravatar
Amlor
Mitglied
Beiträge: 527
Registriert: 28.01.2003 12:51
Wohnort: gelsenkirchen
Kontaktdaten:

Beitrag von Amlor »

Ich glaub das für und wieder von bestimmten Sachen müssen wir hier nicht unbedingt breit treten.. es gibt immer bestimmte Punkte, mit denen man Sachen verbessern aber auch verschlimmbessern kann.. fraglich ist doch eher, was wird gebraucht und genutzt und was ist spielerei bzw überlfüssig.. letztendlich kommt es auf eine kosten/nutzen-analyse nicht drumherum...
Wenn man Sachen zwischenspeichert etc pp. hat man evt Nachteile mit der Aktualität und kann dadurch User verprellen.. lagert man die DB aus, kann es die Probleme auch evt nur verschleppen.. evt aber auch lösen.. es gibt so viele Möglichkeiten...
Ich glaube mit den oben genannten Punkte sind wir auf den richtigen Weg.. schlecht reden kann man es hinterher immernoch, wenn bewiesen worden ist, das es wirklich ein Schuss in den Ofen war.. jetzt aber mit 9mal klugen anderen Möglichkeiten kommen, die evt auf ein anderes System gut greifen und gute Effekte zeigen.. das kann jeder.. aber ob es hier hilfreich sein wird.. das steht auf einem anderen Blatt.. von daher.. lasst doch erst einmal ein paar Wochen, evt. sogar Monate verstreichen.. itst kann sich dann ja noch mal melden.. und dann können wir ihn in der Luft zerreissen (*g* würden wir nie tun :D ) oder in den Himmel loben (wird wohl eh da drauf hinaus laufen *g*)
Das Tolle daran, die einzige zwischen richtig und falsch unterscheidende Art zu sein, ist, dass wir uns immer genau die Regeln ausdenken können, die uns gerade in den Kram passen.
Douglas Adams - Die letzten ihrer Art
RubberDuck
Mitglied
Beiträge: 460
Registriert: 09.07.2003 16:52
Wohnort: ROW
Kontaktdaten:

Beitrag von RubberDuck »

Amlor hat geschrieben:jetzt aber mit 9mal klugen anderen Möglichkeiten kommen, die evt auf ein anderes System gut greifen und gute Effekte zeigen.. das kann jeder.. aber ob es hier hilfreich sein wird.. das steht auf einem anderen Blatt..
Sollte nicht "9mal Klug" sein sondern nur eine Anregung. Warum sollte man sich nicht auch andere funktionierende Konzepte mal ansehen.
VARAN-eV.de - V.A.R.A.N. e.V. - Verein für Artenschutz der Reptilien- und Amphibienhalter Norddeutschlands
Terra-Nord.de - Der Terraristik Stammtisch im Norden
ReptilienManager.de - Die Online Reptilien Verwaltung
Benutzeravatar
DaniM
Mitglied
Beiträge: 687
Registriert: 28.04.2003 19:22
Wohnort: Ulm
Kontaktdaten:

Beitrag von DaniM »

Mafia GmbH hat geschrieben:Naja, das kann man woll durch so viele Besucher nicht vermeiden :grin:
Und ich finde es ist ganz gut so das es sooooo viele Besucher immer wieder neu kommen.

Zwar habe ich z.Z. überhaupt keine Ahnung über PHP und so, aber ich denke es ist machbar.
Also mein Vorschlag:
Wie währe es wen PHP Forum 2 verschidene Datenbanken nutzen könnte, wo vierschidene Funktionen gleichmäsig auf die zwei Datenbanken verteilt werden. Theoretisch könte man dan doppelt so viele Zugriffe erlauben. oder?
Das Forum läuft über 2 Server, die Suche und das Forum sind getrennt.
Kiss News hat geschrieben:Das würde mich auch sehr interessieren, da ich möglicherweise auch früher oder später das gleiche Problem haben könnte. Gibt es diese Verbesserung dann vielleicht als Mod?
Du kannst die Karte nicht bei jedem Aufruf dynamisch erstellen lassen, also nicht immer die Daten neu aus der Datenbank zu lesen.
Du kannst es ja so machen dass die Karte nur jede Woche einmal erstellt wird und gecached wird, praktisch das fertige Bild gespeichert wird, so erspart man sich diese ganzen MySQL Zugriffe.

Mit freundlichen Grüßen,
Dani
Ihr wohnt im Süd-Westen Deutschlands?
|- Nehmt an der Schwäbischen phpBB Usergroup teil!
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Mafia GmbH hat geschrieben:Wie währe es wen PHP Forum 2 verschidene Datenbanken nutzen könnte, wo vierschidene Funktionen gleichmäsig auf die zwei Datenbanken verteilt werden. Theoretisch könte man dan doppelt so viele Zugriffe erlauben. oder?
Das mag bei unabhängigen Daten noch funktionieren - aber i.d.R. hängen die Tabellen immer irgendwie zusammen. Und JOINS sind über verteilte Datenbanken etwas schwieriger zu realisieren...
Entweder kostet dich das also Ressourcen, da die Datenbanken synchronisiert werden müssen oder Ressourcen, weil die Verbindungen laufend zwischen den beiden DBs gewechselt werden muss. Egal wie - ganz so erfolgsversprechend ist der Ansatz nicht.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Antworten

Zurück zu „Community Talk“