Zeitweise sehr langsames Board

phpBB 3.0 hat sein "End of Life" erreicht. Eine Neu-Installation wird nicht mehr unterstützt.
IBPhil
Mitglied
Beiträge: 6
Registriert: 19.08.2014 15:27

Zeitweise sehr langsames Board

Beitrag von IBPhil »

Hallo an alle - ich hoffe, ich habe das richtige Unterforum gewählt und habe bei meiner Suche nicht ein ähnliches Thema übersehen.

Ich habe folgendes Problem:

Vor knapp 3 Wochen habe ich auf einem V-Server ein phpBB3-Board erstellt - soweit so gut, alles problemlos verlaufen. Recht schnell wurde klar, dass der Server etwas erweitert werden muss (da der Kunde noch weitaus mehr Software benötigt und mit einem Board alleine nicht zufrieden ist), was auch problemlos erfolgte. Nachdem ich sowohl Server, als auch System sowie alle sonstige Software auf den neusten Stand gebracht hatte, begann ich mit den üblichen Tuning-Arbeiten am Server, MySQL, PHP etc. (Speicherverteilung usw.).

Alle Werte sind mittlerweile angepasst, die Serverauslastung ist tadellos und eigentlich sollte alles funktionieren - tut es aber nicht.
Folgender Fehler tritt auf: Das Board ist bei bestimmten Tätigkeiten extrem langsam, funktioniert dann einige Zeit und verlangsamt sich dann erneut extrem.

Ich hatte ursprünglich auf einen globalen Fehler getippt, allerdings persistiert dieses Verhalten ja nicht 24/7, sondern immer nur eine gewisse Zeit - ansonsten ist das Board pfeilschnell. Ich habe mich also in allen verfügbaren Logs (Apache2, MySQL usw.) auf die Suche gemacht, den Tuning Primer (Obacht! Bash-Script) ausgeführt und die my.cnf so angepasst, das alle Werte gut und ausreichend sind sowie einen Long/Slow-query-log aktiviert, welche alle queries auflisten soll, welche länger als 2 Sekunden dauern.

Ergebnis:
- Mit großen Erstaunen stellte ich fest, dass dies zwar recht wenige queries im slow-log sind, diese aber extrem lange dauern (teilweise 140 Sekunden, meist zwischen 2 und 15 Sekunden) - fast alle beziehen sich auf die "bbsessions", aber auch z.B. auf "bblogin_attempts" - allerdings beziehen sich über 90% der Einträge auf die "bbsessions".
- Ansonsten sind alle Logs unauffällig, weder im Apache noch in MySQL oder sonstigen Logs findet sich irgend etwas seltsames oder beängstigendes.
- Eine anschließende Überprüfung der Tabellen unter phpMyAdmin ergab keine besonderen Ereignisse - alle Tabellen sind hübsch klein, die Sessions-Tabelle wächst nicht an und ist immer korrekt befüllt.

Was könnte noch wichtig sein:
- Ein ähnlicher Fehler (ebenfalls mit den dortigen Sessions) trat wenige Male beim Login in das Plesk Adminpanel auf - evtl. ist der Fehler also nicht phpBB-spezifisch. Ich bitte euch aber alle dringend um Hilfe, da ich mir keinen Rat mehr weiß. Ich kann nur vermuten, dass es an irgend einer Konfiguration liegt, weiß aber gar nicht mehr, wo ich noch suchen soll. Ich muss dieses Board dringend zum Laufen bekommen, weiß mir aber keinen Rat mehr :( .

Folgende Daten möchte ich noch zum Server und der aktuellen Installation hinterlassen:

Serverdaten
- Ubuntu 14.04.1 LTS mit Plesk 12.0.18
- PHP 5.5.9 & MySQL 5.5.38 (mit MySQLi und InnoDB)
- phpBB Version 3.0.12
- Alle Ressourcen im grünen Bereich, mehr als 4 GB RAM sowie mehrere V-Prozessoren sowie über 400 GB Speicher (teilweise SSD, teilweise HDD) zur Verfügung

Ich danke jedem für konstruktive Vorschläge und jedwede Form der Hilfe! Vielen Dank!

(UPDATE 16:38 Uhr): Mittlerweile scheint es beinahe so schlimm zu sein, dass jede Abfrage/Handlung von MySQL extrem langsam ist, sofern sie sich auf die sessions bezieht. Ich kann jetzt sagen, dass es auch das Plesk Adminpanel betrifft, dort auch das Session-Management. Neustarts/Reboots der einzelnen Services sowie vom Server selbst bringen gar keine Besserung.

Sobald der Fehler in einer bestimmten Stärke auftritt, sind fast alle Abfragen betroffen. Hier einige Auszüge aus mysql-slow.log

Code: Alles auswählen

# Time: 140819  3:58:37
# User@Host: testforum[testforum] @ localhost []
# Query_time: 17.092520  Lock_time: 0.000035 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408413517;
UPDATE test_forumbbsessions SET session_time = 1408413500, session_page = 'viewtopic.php?f=5&t=18', session_forum_id = 5
								WHERE session_id = 'fc94ef222ac0902d11386297d5eac95a';
# Time: 140819  3:59:50
# User@Host: testforum[testforum] @ localhost []
# Query_time: 17.071465  Lock_time: 0.000050 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408413590;
UPDATE test_forumbbsessions SET session_time = 1408413573, session_page = 'index.php', session_forum_id = 0
								WHERE session_id = 'fc94ef222ac0902d11386297d5eac95a';
# Time: 140819  4:12:27
# User@Host: testforum[testforum] @ localhost []
# Query_time: 30.377349  Lock_time: 0.000063 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408414347;
UPDATE test_forumbbsessions SET session_time = 1408414317, session_page = 'ucp.php?mode=login', session_forum_id = 0
								WHERE session_id = 'fc94ef222ac0902d11386297d5eac95a';
								
# User@Host: testforum[testforum] @ localhost []
# Query_time: 37.115416  Lock_time: 0.000030 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408459347;
UPDATE test_forumbbtopics
		SET topic_views = topic_views + 1, topic_last_view_time = 1408459310
		WHERE topic_id = 18;
		
# Time: 140819 16:46:07
# User@Host: testforum[testforum] @ localhost []
# Query_time: 27.927974  Lock_time: 0.000033 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408459567;
UPDATE test_forumbbsessions SET session_time = 1408459539, session_page = 'viewtopic.php?f=27&t=7', session_forum_id = 27
								WHERE session_id = '7b35f4a7f504cdac64a6cb2c4dfdeec1';
# Time: 140819 16:46:29
# User@Host: testforum[testforum] @ localhost []
# Query_time: 22.855738  Lock_time: 0.000035 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408459589;
UPDATE test_forumbbtopics
		SET topic_views = topic_views + 1, topic_last_view_time = 1408459567
		WHERE topic_id = 7;
(/UPDATE)

Viele Grüße

IBPhil
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 12113
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: Zeitweise sehr langsames Board

Beitrag von Crizzo »

Hi,

hast du denn Modifikationen vorgenommen? Wenn ja, welche? Geht es nach dem Ausbau (temp. deaktivieren) wieder schneller?

Hast du mal die Datenbank Indizes neuaufgebaut, bringt das was?

Grüße
IBPhil
Mitglied
Beiträge: 6
Registriert: 19.08.2014 15:27

Re: Zeitweise sehr langsames Board

Beitrag von IBPhil »

Hi,

ich habe keinerlei Modifikationen am Board selbst vorgenommen, nur der Style wurde in Etech geändert. Verzeih, meinst du den Serverausbau? Falls ja: Nein, es ist genau so langsam.

Die Indizes habe ich nicht neu aufgebaut, ich habe ein weiteres Testforum eingerichtet, bei welchem es ziemlich direkt zum gleichen Problem kam.

Als ich einen zweiten Testserver mit dem selben Image bespielen ließ (diesmal allerdings als Update von Ubuntu 12.04.4 LTS und Plesk 11.5 auf 14.04.1 LTS und Plesk 12.0.18) kam es auch zum Fehler :( .

Am Server wurden ebenfalls kaum Modifikationen vorgenommen, er wurde frisch installiert (Ubuntu 14.04.1 LTS sowie Plesk 12.0.18 direkt als Image ohne Update) und nachfolgend habe ich die o.g. Anpassungen mit Tuning Primer vorgenommen - die Probleme traten allerdings bereits direkt nach der Neuinstallation des Servers bzw. der anschließenden Installation von phpBB auf, wurden nach den Anpassen zwar besser, verschwinden aber nicht. Die Grundinstallation des Servers wird per Image vom Hoster (STRATO) vorgenommen, daher habe ich darauf keinen Einfluss. Leider scheint der Hoster mit seinem Latein ebenfalls am Ende zu sein - alle Tickets werden geschlossen mit dem Kommentar, dass man mir eben nicht helfen könne.

Es schaut immer mehr danach aus, dass es am MySQL-Server bzw. an MySQL bzw. der Konfiguration selbst liegt - wenn ich mich testweise in alle Systeme einlogge und wieder auslogge und damit "normalen" Traffic provoziere tritt der Fehler nach einiger Zeit auf. Je nach Schwere fällt scheinbar irgendwann der MySQL-Server aus, daraufhin lässt er sich nur durch ein Reboot des Servers beheben. Nach dem 1. Reboot fällt alles aus (bis auf einfache HTML-Seiten bzw. den Apache selbst, bei Plesk kommt es dann zu diesem Fehler, dann lässt sich das System nach einiger Zeit neu starten und dann klappt alles wieder - natürlich inkl. dem MySQL-Problem - alle anderen Systeme arbeiten dann allerdings fehlerfrei. Ein solcher Komplettausfall kam erst 2 Mal vor, hat mich aber doch schon sehr gewundert.

Habe ich irgend eine Möglichkeit herauszufinden, woran es genau liegt? Wie gesagt, es äußert sich am ehesten bei der Nutzung von phpBB, ich glaube aber nicht, dass der Fehler komplett darin zu suchen ist - ich weiß bloß nicht mehr, wo ich mich noch hinwenden soll und hoffe, dass jemandem vom euch vielleicht schon etwas ähnliches passiert sein könnte. Auch nach langer Recherche im Netz konnte ich nichts genaues finden - vor allem weiß ich ja noch nicht mal genau wonach ich suchen soll...

Falls jemand also etwas findet bzw. weiterführende Links hat, nehme ich die auch gerne an. Bin auch für alle Tipps dankbar.

Danke schon mal für die Hilfe!

Grüße
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Zeitweise sehr langsames Board

Beitrag von Elsensee »

Ich denke nicht, dass der Fehler direkt bei phpBB zu finden ist. Wie du siehst und auch selbst bemerkt hast, benötigt die Datenbank für jeden Query unglaublich lange.

Etwas, was du vielleicht selber bereits gefunden hast, aber wenn nicht, dann: http://ubuntuforums.org/showthread.php?t=1676913 :)

Dass es sich am ehesten bei der Nutzung von phpBB äußert, könnte damit zusammenhängen, dass hauptsächlich phpBB die Datenbank verwendet, oder?
IBPhil hat geschrieben:Die Indizes habe ich nicht neu aufgebaut, ich habe ein weiteres Testforum eingerichtet, bei welchem es ziemlich direkt zum gleichen Problem kam.
Testforum ist auf dem gleichen Server nehm ich an. Sind die Tabellen des Forums auch in der gleichen Datenbank wie die Tabellen der anderen Foren? Oder hast du für jedes Forum eine eigene Datenbank genommen?
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
IBPhil
Mitglied
Beiträge: 6
Registriert: 19.08.2014 15:27

Re: Zeitweise sehr langsames Board

Beitrag von IBPhil »

Hallo und nochmal danke für die Antwort!

Denke ich auch nicht, aber ich hatte gehofft, ihr wüsstet vielleicht etwas, das mir helfen könnte.

Danke für den Link - schaue ich mir mal an, auch von Ubuntu 10.04 LTS schon etwas her ist. Vielleicht noch eine Idee?
Bin mich gerade in MySQL und PHP nochmal am einarbeiten, damit ich meine Kenntnisse wieder auffrische. Hatte schon etwas länger nicht mehr tiefergehend damit zu tun.

Zu deinen Fragen:

Ja, PHP nutzt hauptsächlich die Datenbanken. Das Testforum liegt in einer anderen Datenbank auf dem gleichen Server, da ich eine komplett neue Umgebung haben wollte - leider ebenso problematisch. Wenn ich mich recht entsinne, müssten Plesk sowie der dort integrierte Horde Webmailer ja auch andere DBs / Systeme nutzen und weisen ähnliche Fehler auf.

Gibt es vielleicht noch mehr Möglichkeiten als über Tuning Primer, slow-queries und mtop und den Serverlogs um dem Ganzen auf die Schliche zu kommen? Irgendwelche in sonstiger Weise hilfreichen Skripte und Programme?

Sieht es für euch jetzt eher nach einem MySQL-Fehler aus oder vielleicht noch eine weitere Ebene tiefer? Wie gesagt, mir ist schon geholfen, wenn ich den Fehler weiter eingrenzen kann...

Danke für eure Hilfe! :)

(Falls das Ganze zu weit von phpBB weggeht, gebt mir bitte einfach noch ein paar abschließende Tipps und macht dann zu - ich mag euch ja nicht Support leisten lassen für Dinge, die ihr gar nicht unterstützt. Letztendlich ist mir zwar hauptsächlich wichtig mein Board zum Laufen zu bekommen, aber ich möchte euch auch nicht so viel Mehrarbeit machen)
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Zeitweise sehr langsames Board

Beitrag von HabNurNeFrage »

Hi,

hier findest Du ein nettes Benchmark-Tool: http://unbeknownst.net/archives/321
Vielleicht lässt sich damit das Problem lokalisieren oder etwas eingrenzen...

Du könntest auch in der php.ini mal nach innodb_flush_log_at_trx_commit suchen und den wert auf 2 setzen.

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
IBPhil
Mitglied
Beiträge: 6
Registriert: 19.08.2014 15:27

Re: Zeitweise sehr langsames Board

Beitrag von IBPhil »

Auch hier nochmal danke für das Tool.

Habe jetzt noch folgendes herausgefunden:

Erst einmal greift der Server nicht auf die grundlegende php.ini in /etc/php5/cgi zu (da PHP hier als CGI/FastCGI ausgeführt wird) zu, sondern auf eine automatisch erstellte php.ini in einem Unterverzeichnis eines vhosts (der entsprechenden Domain). Ich schätze, dass das Plesk Adminpanel diese erstellt und verwaltet.

Die php.ini (bzw. keine von beiden) beinhaltet keine Zeilen die innodb beinhalten, also auch keine innodb_flush_log_at_trx_commit. Könnte das sonst noch irgendwo stehen bzw. ist das bedenklich? Soll ich versuchen, sie hinzuzufügen?

Danke nochmal!

Grüße
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Zeitweise sehr langsames Board

Beitrag von HabNurNeFrage »

Hi,

Versuch macht kluch... äh klug.

Kannst ja mal innodb_flush_log_at_trx_commit=2 testweise eintragen.

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
IBPhil
Mitglied
Beiträge: 6
Registriert: 19.08.2014 15:27

Re: Zeitweise sehr langsames Board

Beitrag von IBPhil »

Huhu,

also, ich denke, es ist auf jeden Fall etwas besser geworden, allerdings...

Code: Alles auswählen

# Time: 140819 22:33:19
# User@Host: testforum[testforum] @ localhost []
# Query_time: 8.160055  Lock_time: 0.000071 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408480399;
UPDATE test_forumbbsessions SET session_time = 1408480389, session_page = 'viewforum.php?f=25', session_forum_id = 25
								WHERE session_id = 'cfe2e76aa17898377cf727da2b61fb9f';
# Time: 140819 22:33:21
# User@Host: testforum[testforum] @ localhost []
# Query_time: 6.855376  Lock_time: 0.000040 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408480401;
UPDATE test_forumbbsessions SET session_time = 1408480394, session_page = 'viewtopic.php?f=15&t=20', session_forum_id = 15
								WHERE session_id = 'cfe2e76aa17898377cf727da2b61fb9f';
# Time: 140819 22:34:11
# User@Host: testforum[testforum] @ localhost []
# Query_time: 4.508743  Lock_time: 0.000041 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408480451;
UPDATE test_forumbbsessions SET session_time = 1408480446, session_page = 'index.php', session_forum_id = 0
								WHERE session_id = 'cfe2e76aa17898377cf727da2b61fb9f';

# Time: 140819 22:38:08
# User@Host: testforum[testforum] @ localhost []
# Query_time: 3.387471  Lock_time: 0.000035 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408480688;
UPDATE test_forumbbsessions SET session_time = 1408480685, session_page = 'viewtopic.php?f=11&t=18', session_forum_id = 11
								WHERE session_id = 'cfe2e76aa17898377cf727da2b61fb9f';
# Time: 140819 22:38:21
# User@Host: testforum[testforum] @ localhost []
# Query_time: 10.193636  Lock_time: 0.000033 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408480701;
UPDATE test_forumbbsessions SET session_time = 1408480691, session_page = 'viewtopic.php?f=22&t=17', session_forum_id = 22
								WHERE session_id = 'cfe2e76aa17898377cf727da2b61fb9f';
# User@Host: testforum[testforum] @ localhost []
# Query_time: 2.477832  Lock_time: 0.000034 Rows_sent: 0  Rows_examined: 1
SET timestamp=1408480701;
UPDATE test_forumbbsessions SET session_time = 1408480699, session_page = 'viewforum.php?f=25', session_forum_id = 25
								WHERE session_id = 'cfe2e76aa17898377cf727da2b61fb9f';
... löst es das Problem nicht :(

InnoDB scheint aber zumindest ein richtiger Angriffspunkt zu sein.. Damit auch bloß keine Langeweile aufkommt...

Soll ich den Wert nochmal auf 1 bzw. 0 zurücksetzen? Wenn ich richtig informiert bin ist bei 2 doch evtl. Datenverlust möglich? Oder hab ich da was Falsches im Hinterkopf?

Danke nochmal für die Hilfe!
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Zeitweise sehr langsames Board

Beitrag von HabNurNeFrage »

Hi,

1 macht keinen Sinn, da das default auch ohne den Eintrag ist.
2 kann zu Datenverlust bei Hardware-Defekten führen, die Gefahr ist jedoch gering.
0 kannst Du nochmal probieren, aber letztlich ist nur 1 ACID-konform.

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Gesperrt

Zurück zu „[3.0.x] Installation, Update und Konvertierung“