Grund fuer Seitenausfaelle
-
ºgrimmsenº schrieb:
Ich will ja nicht klugscheissen, aber erlaubt Ihr PHP persistente Verbindungen aufzubauen? Wenn ja ist das kein Wunder. In der PHP.ini
mysql.allow_persistent = Off
und schon is Ruhe. Und max_links kann man ja auch anpassen (sowohl in php.ini als auch in my.cnf).
Wenn 300 Verbindungen im Sleep-Zustand sind, wärend andere auf das Forum wollen, bringt das sicher auch keine Punkte, oder?@admins: Und?
-
Wenn die Verbindungen im Sleep-Zustand wären hätte ich auch kein Problem.
Man muss di Anzahl der gleichzeitigen Datenbankverb. begrenzen. Dieser Server besteht ja nicht nur aus Datenbank. Da gibt es auch noch Apache. Weiters legt phpBB zur suche eine TempTabelle an. Diese sind meinst im Speicher.
Wir sind auf der Suche.
Und 300 GLEICHZEITIGE Verbindungen zur Datenbank eines solchens Rechners sind viel.
Hierbei handelt es sich nicht um Dual-Xeon oder ähnliches und höher. Auch hat er nicht 20 GB Speicher.
-
Wenn zu viele Verbindungen am Laufen sind könnte ja alles langsamer laufen.
Aber das MySQL ganz abstürzt dürfte ja eigentlich nicht passieren.
-
UND?
Bitte mein erstes Posting in diesem Thread lesen.
-
Sorry hab mich vertan. Das ist ja für das Forum eh Wurst, da nur eine DB ... *schäm*
-
Unix-Tom schrieb:
Wenn die Verbindungen im Sleep-Zustand wären hätte ich auch kein Problem.
Man muss di Anzahl der gleichzeitigen Datenbankverb. begrenzen. Dieser Server besteht ja nicht nur aus Datenbank. Da gibt es auch noch Apache. Weiters legt phpBB zur suche eine TempTabelle an. Diese sind meinst im Speicher.
Wir sind auf der Suche.
Und 300 GLEICHZEITIGE Verbindungen zur Datenbank eines solchens Rechners sind viel.
Hierbei handelt es sich nicht um Dual-Xeon oder ähnliches und höher. Auch hat er nicht 20 GB Speicher.Ah Ok. Bin wohl von den Servern die unsere Firma im Rechenzentrum hat ein wenig
verwoehnt :).Sind eigentlich einige Teile der Site statisch erstellt und werden erst bei
Aenderungen erneut generiert? Damit koennte man einiges an Datenbankzugriffen
sparen. Oder lohnt sich das nur fuer die Startseite?mfg
v R
-
Gukcst du phpBB. Ich weiß nicht wie die das machen. Ich weiß nur das die wegen jedem Scheiß eine SELECT machen. Da gibt es aug den ersten Blick nihct viele JOINS etc.
Wäre ja auch noch kein Problem. Scheinbar gibt es aber irgendwo eine abfrage die alles Blockiert. (SELECT geht vor INSERT, Wenn INSERT und Blockiert dann kein SELECT.)
Keider gab ich es noch nicht geschafft die aktiven SQL-Statements zu speicher um sie zu analysieren.
Das braucht etwas Zeit (der Server ist elends langsam in dem Falls und ein Loggin auf der Console dauert da schonmal 5 Min) und die habe ich in der Firma nicht.
-
Ich hab vollstes Vertrauen in dich. Falls man irgendwie helfen kann, einfach
mal melden.mfg
v R
-
Wie wäre das als Cronjob, jede Minute:
mysql -u root -p<passwort> -r -B -e 'show processlist;' >> mysql_processlist
Wenn du das mit uhrzeit speicherst, bekommst du die böse query bestimmt raus.
-
ich könnte aber auch in den phpbb db layer ein paar log funktion machen, wäre das nicht besser als der cron job?
-
Gerard schrieb:
ich könnte aber auch in den phpbb db layer ein paar log funktion machen, wäre das nicht besser als der cron job?
stimmt.
-
Nein weil du dann am Tag 1 MIllion 200 Zeilen in der Datei hast. Wer soll die durcharbeiten.
Ein Cronjob bringt noch weniger. Wenn sich die Forensoftware nicht einloggen kann weil alle verbindungen voll sind dann mysql duch den Cornjob gestartet auch nicht.
In dem Fall könnte ich mich das auch selbst einloggen und mysql starten.
Dies habe ich ja auch bereits gemacht nur bisher nicht die Zeit die Querys zu speicher und auszuwerten.