Grund fuer Seitenausfaelle



  • Ein Datenbankserver erwartet eine maximalanzahl connects gleichzeitig.

    Der MySQL hier ebenfalls. Wenn diese aufgebraucht sind dann gibt es keinen connect mehr.
    Der Apache und MySQL laufen soweit stabil. Wenn aber phpBB 300 verbindungen aufbaut dann braucht das viel speicher und Rechenzeit. Deshalb wird auch der Server elends lahm.
    Ist IMHO ein Fehler in phpBB oder in PHP.



  • aha..... kann man das nicht von der Peformance her verbessern ? 😕



  • Unix-Tom schrieb:

    Ein Datenbankserver erwartet eine maximalanzahl connects gleichzeitig.

    Der MySQL hier ebenfalls. Wenn diese aufgebraucht sind dann gibt es keinen connect mehr.
    Der Apache und MySQL laufen soweit stabil. Wenn aber phpBB 300 verbindungen aufbaut dann braucht das viel speicher und Rechenzeit. Deshalb wird auch der Server elends lahm.
    Ist IMHO ein Fehler in phpBB oder in PHP.

    Hmm...300 Verbindungen sind natuerlich nicht viel. Dass das Speicher und Rechen-
    zeit frist, ist mir klar. Aber fuer 300 User sollte der Server locker reichen.

    mfg
    v R



  • 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?



  • virtuell Realisticer schrieb:

    In letzter Zeit ist es sehr oft so, dass, wenn ich die Seite aufrufen will, oeffter Meldungen wie "too many connections" etc. zu sehen sind.

    och menno, ich krieg ja nichtmal ne meldung zu sehen...



  • Ich hatte gestern ueber Stunden, ab 13:30 Uhr nur noch folgende Meldung auf dem Bildschirm:

    phpBB : Critical Error

    Could not connect to the database

    Wollte ich euch nur mitteilen.
    MfG Aoeke



  • jo

    deshalb war ich auch der meinung, daß der server da einfach pur "down" war.
    🙂



  • º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.


Anmelden zum Antworten