Große Datenbank und Last durch Forum

  • Ersteller Ersteller Stefan_Sch
  • Erstellt am Erstellt am
S

Stefan_Sch

Gast
Hallo,

wir haben bei unserer Webseite aktuell das Problem, dass wir immer mehr Benutzer haben. Wir setzen derzeit noch das aktuelle phpBB 3 ein. Leider explodiert die MySQL-Datenbank (MyISAM) und erreicht mittlerweile schon 7 GB. Und das obwohl keine Anhänge oder Bilder in der DB gespeichert werden.

Langsam reizen wir auch den Webhoster aus, der deshalb schon ein Schreiben verschickt hat.

Der nächste Schritt wäre wohl einen dedizierten und leistungsstarken Server zu nehmen, aber das kostet natürlich ungleich mehr Geld.

Um auf den Punkt zu kommen. Gibt es Möglichkeiten die Last zu reduzieren? Eventuell durch den Umstieg auf eine andere Forensoftware? Oder den Wechsel auf InnoDB samt Tabellenkompression?

Sollte man Fullquotes in große Foren generell abschalten bzw. verhindern? Was sind eure Tipps? Wie machen das große Internetforen?
 
Vielleicht kannst du die Inhalte gezippt speichern, aber das müsste die Forensoftware unterstützen. Oder du greifst manuell in den Code ein (wenn du das darfst).

Ich würde aber erst mal rausfinden, was da so viel Platz verbraucht. Ich hatte schon mal den Fall, dass in einer Spalte xmls gespeichert wurden, die gewöhnlich nur im 1k Bereich lagen. Aber mit fehlerhaften xmls mit einer Größe von ca. 120MB wurde es nicht nur schnell voll, sondern auch extrem langsam.
 
Zuletzt bearbeitet:
Große Internetforen sitzen allesamt auf eigenen Rootservern.
Vor allem wenn die Beitragszahl hochgeht, ist es schlecht bei einem vServer mit begrenztem Speicher zu hocken.

Übliche Mittel zur Reduzierung ist halt, maximale PNs begrenzen pro User, eben Signaturen&Avatare begrenzen in der Größe etc.
Loggst du vielleicht einen Chat mit? Denn 7GB bei Text ist echt eine ordentliche Hausnummer.. vor allem klingt's so als wäre die Entwicklung recht spontan gekommen.

​Achja, Threads sollte man soweit ich weiß ab einer gewissen Größe immer aufteilen, da es sonst die Last ganz schön in die Höhe treibt.
 
Den meisten Platz mit 6 GB nimmt die Tabelle "phpbb_posts" ein. Das ist die Tabelle, wo die Beiträge gespeichert werden.

Chat wird nicht mitgeloggt.

Das mit der Aufteilung der Threads klingt interessant.

Gibt es eigentlich Forensoftware, die auf Leistung optimiert ist? Ich habe den Eindruck, dass phpBB hier nicht optimal ist. Eventuell wäre vBulletin oder IPB besser?!
 
InnoDB ist übrigends keine gute Idee... das vergrößert die Last um ein vielfaches!
 
MariaDB wäre eine Alternative...
ich denke auch das YABB-Forum ist perfomance-schonender...

Darf man fragen, um welches Forum es sich handelt?
 
Mojo1987 schrieb:
InnoDB ist übrigends keine gute Idee... das vergrößert die Last um ein vielfaches!

Wenn man sich im Internet umsieht, steht dort aber das Gegenteil.

Siehe z.B. http://web-union.de/382

Wann setzt man InnoDB ein?

InnoDB eignet sich vorallem bei großen Datenbanken wo viele Daten miteinander verknüpft sind. Wenn hier Daten gelöscht werden, löscht InnoDB alle referenzierten Daten automatisch mit. Das macht es der Anwendung hinter der Datenbank leichter die referentielle Integrität einzuhalten.
Prominete Beispiele für Web-Anwendungen mit InnoDB sind unter anderem:

Mediawiki (Wikipedia)
Magento eCommerce

Wann setzt man MyISAM ein?

Bei kleinen Datenbanken oder Anwendungen wo viel und oft Daten geändert werden. Hier ist MyISAM deutlich performanter, weil INSERT und UPDATE schneller sind. Und natürlich wenn man Texte durchsuchen möchte (Volltextsuche).
Prominete Beispiele für Web-Anwendungen mit MyISAM sind unter anderem:

WordPress
Joomla!

Die neue Version von InnoDB unterstützt sogar die Volltextsuche.
 
Das stimmt schlichtweg nicht. Da steht das es für Große Anwendungen empfohlen wird... was da nicht steht, ist das die Anwendung zum einen damit umgehen könne muss um davon zu profitieren, zum anderen das der RAM Verbrauch exorbitant ansteigt. Dazu kommt die gesteigerte CPU Last durch die transaktionsbasierte Arbeitsweise. Du wirst doch nicht glauben das die "Vorteile" die oben stehen zum Leistungsnulltarif kommen...

Kauf nen ordentlichen Server mit viel RAM und genug CPU-Power und konfigurier den Webserver sauber, dann kann er auch eine 7 GB Forendatenbank stemmen.
 
Zurück
Oben