User already has more than 'max_user_connections' active connections

  • Hallo zusammen,


    ich bin gestern Nacht vom WBB3 auf das WBB 4.1. umgestiegen. Der Import hat soweit prima geklappt und das Forum wurde um eine Reihe von Plugins ergänzt, die aber ausnahmslos alle aus dem offiziellen Plugin-Store stammen.


    Ich erlebe jetzt, dass das Forum plötzlich beginnt, Fehlermeldungen beim Schreiben von Beiträgen zu erzeugen (siehe Screenshot) - im Anschluss daran ist kein weiterarbeiten möglich, der Browser (Firefox) friert dann ein und stürzt ab. Mir fällt auch allgemein auf, dass das Board extrem langsam und träge reagiert in der gesamten Navigation.


    Im ACP kann ich im Protokoll die folgende Fehlermeldung einsehen (das ist ACP ist gefüllt mit Dutzenden von Seiten mit genau diesen Fehlermeldungen):



    Sun, 23 Aug 2015 08:44:45 +0000
    Message: Connecting to MySQL server 'localhost' failed:
    SQLSTATE[42000] [1203] User d01f2f15 already has more than 'max_user_connections' active connections
    File: /www/htdocs/w00c91ad/community/wcf/lib/system/database/MySQLDatabase.class.php (46)
    PHP version: 5.4.42-nmm1
    WCF version: 2.1.6 (Typhoon)
    Request URI: /community/index.php?ajax-proxy/&
    Referrer: http://www.financial-career.de/community/index.php?thread/1487-universit%C3%A4t-mainz-wiwi/&postID=4635
    User-Agent: Mozilla/5.0 (Linux; U; Android 4.1.2; de-de; GT-I9100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
    Information: "<b>sql type:<\/b> wcf\\system\\database\\MySQLDatabase<br \/><b>sql error:<\/b> <br \/><b>sql error number:<\/b> 0<br \/><b>sql version:<\/b> unknown<br \/>"
    Stacktrace:
    #0 /www/htdocs/w00c91ad/community/wcf/lib/system/database/Database.class.php(107): wcf\system\database\MySQLDatabase->connect()
    #1 /www/htdocs/w00c91ad/community/wcf/lib/system/WCF.class.php(319): wcf\system\database\Database->__construct(...)
    #2 /www/htdocs/w00c91ad/community/wcf/lib/system/WCF.class.php(141): wcf\system\WCF->initDB()
    #3 /www/htdocs/w00c91ad/community/wcf/global.php(25): wcf\system\WCF->__construct()
    #4 /www/htdocs/w00c91ad/community/global.php(13): require_once('/www/htdocs/w00...')
    #5 /www/htdocs/w00c91ad/community/index.php(9): require_once('/www/htdocs/w00...')
    #6 {main}


    Ist dieser Fehler bekannt? Was verursacht ihn und wie kann er behoben werden?


    Weiterhin fällt mir auf, dass ein bestimmter Gast von einem unbekannten Ort mit identischer IP-Adresse dutzende Male in der "Wer ist online" Ansicht auftaucht - das ist doch auch nicht normal?


    Danke und Gruß,


    TheConvexity

  • Message: Connecting to MySQL server 'localhost' failed:
    SQLSTATE[42000] [1203] User d01f2f15 already has more than 'max_user_connections' active connections


    Mit dieser Fehlermeldung solltest Du Dich mal an Deinen Hoster wenden.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Danke, habe ich gemacht. Mal schauen, was All-Inkl.com zu dem Thema sagen kann, vielleicht haben die eine Idee.


    Edit: In meiner Wer ist Online Ansicht taucht ein und derselbe Gast inzwischen mehr als 800 mal auf.

    Edited once, last by Astaroth ().

  • Im ACP kann ich im Protokoll die folgende Fehlermeldung einsehen (das ist ACP ist gefüllt mit Dutzenden von Seiten mit genau diesen Fehlermeldungen):

    Hatte ich auch mal. Bei mir war ein falscher Wert in der mySQL Konfiguration Schuld.
    max_user_connections=XXX


    Nachdem ich das korrigiert hatte, lief alles wie gewohnt

  • Hatte ich auch mal. Bei mir war ein falscher Wert in der mySQL Konfiguration Schuld.max_user_connections=XXX


    Nachdem ich das korrigiert hatte, lief alles wie gewohnt

    Hast du mit dieser Änderung der Konfiguration bewirkt, dass dein Server mehr SQL-Verbindungen erlaubt hat oder hat dies das Erstellen fehlerhafter offener Verbindungen unterbunden?

  • Hast du mit dieser Änderung der Konfiguration bewirkt, dass dein Server mehr SQL-Verbindungen erlaubt hat oder hat dies das Erstellen fehlerhafter offener Verbindungen unterbunden?

    Das "erstellen fehlerhafter offener Verbindungen" hat nichts mit diesem Parameter zu tun. Der Parameter erlaubt einfach mehr parallele Verbindungen zu MySQL-Server; der lehnt nämlich weitere Verbindungen einfach ab (wie bei Dir oben in der Fehlermeldung zu lesen), wenn das Maximum erreicht ist.

  • Das "erstellen fehlerhafter offener Verbindungen" hat nichts mit diesem Parameter zu tun. Der Parameter erlaubt einfach mehr parallele Verbindungen zu MySQL-Server; der lehnt nämlich weitere Verbindungen einfach ab (wie bei Dir oben in der Fehlermeldung zu lesen), wenn das Maximum erreicht ist.

    Besten Dank. Dann muss ich mal schauen, wann und wie ich den Fehler replizieren und eingrenzen kann. Denn der Antwort meines Hosters war zu entnehmen, dass der entsprechende Wert der maximal erlaubten parallelen SQL Verbindungen zu eingestellt ist, dass dieser erst dann greift, wenn die Anwendung im Begriff ist, den gesamten Server in die Knie zu zwingen. Als Alternative hat man mir einen Managed Server angeboten, das kann aber wohl kaum notwendig sein für ein WBB4 mit gerade mal knapp 1.000 Usern.

  • Das Problem ist nicht gelöst und Abstürze treten weiterhin beim Verfassen von Postings auf. Ich habe parallel mir die Prozesse in phpMyAdmin angesehen, wenn sowas passiert.


    Ich sehe fortlaufend immer wieder zwischen 5 bis 12 Prozesse, die alle den Status "SLEEP" haben. Wenn ich jeweils aktualisiere, kommen und gehen stetig neue SLEEP Prozesse (erkennbar an den neuen Prozess-IDs), es erscheint als so, als würde der Server praktisch pro Sekunde oder alle zwei Sekunden mit zahlreichen neuen Prozessen bombardiert werden, die alle den Status SLEEP haben.


    Das kann doch so nicht beabsichtigt sein, oder?

  • Da kann Woltlab oder die Community auch nichts anrichten wenn dein Hoster so stur ist. Bei Webhosting hast du kaum Einstellmöglichkeiten, zumindest was dein Problem betrifft.


    Hier würde ich einfach den Hoster wechseln, Erfahrungsberichte zu alternativen Hoster gibt es hier im Forum wie Sand am Meer.


    Gruss

  • Hier würde ich einfach den Hoster wechseln, Erfahrungsberichte zu alternativen Hoster gibt es hier im Forum wie Sand am Meer.


    Das Problem in diesem Fall ist, dass der TE Kunde beim hier mit Abstand meistempfohlenen Anbieter ist.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Damit tue ich mich in der Tat schwer, ich bin seit mehr als 10 Jahren bei All-Inkl.com und habe mit dem Hoster jederzeit beste Erfahrungen gemacht, sowohl was Leistung als auch Support betrifft. All-Inkl.com hat mir am Sonntag noch geschrieben, dass die Server ja so konfiguriert sind, dass die Restriktion für die Maximalzahl der Verbindungen nur auf einem Level greift, wo der Server in die Knie gezwungen wird.


    Es kann doch nicht sein, dass das WBB4 eine dermaßen brutale Hochleistungssoftware darstellt, dass man bereits für ein Forum mit knapp 1.000 Usern (von dem am Tag nur 40 mal online sind) einen eigenen kompletten Servier anmieten muss?


    Dessen ungeachtet: Wie Norse schon sagt, sehr viele nutzen hier All-Inkl.com, wenns am Provider liegen würde, dann müsste es hier im Forum ja über 100 Threads mit meinem Problem geben. Das bringt mich zur Konklusion, dass das Problem eigentlich woanders liegen muss.

  • Ich habe gerade mal einen Screenshot aus phpMyAdmin gezogen, wie es in der Datenbank gerade aussieht - Frage: Kann jemand beurteilen ob das normal ist? Die ganzen SLEEP-Prozesse von Localhost habe ich wie gesagt fast ständig in etwa dieser Anzahl oder noch mehr.

    • Official Post

    Sleep heißt nichts weiter, als das MySQL die Abfrage verarbeitet hat und so gesehen "fertig" ist, der Client die Verbindung aber noch nicht beendet hat. Das ist ein vollkommen normaler Prozess, etwa wenn PHP eine Datenbankabfrage auslöst, das Ergebnis verarbeitet und auf Basis dieser Informationen eine neue Abfrage absendet. Während PHP die Daten verarbeitet steht die Verbindung bei MySQL auf "Sleep", denn MySQL hat in der Zeit nichts zu tun.


    Die wechselnden IDs sind übrigens ein weiteres Indiz dafür, denn es bedeutet das alte Verbindungen beendet wurden und neue geöffnet. Interessant ist auch die Spalte Time, diese steht bei allen gezeigten auf 0, dies ist die Zeit in Sekunden wie lange sich die Verbindung in diesem Zustand befindet.


    Es wäre sehr viel interessanter zu erfahren, ob in dem gleichen Zeitraum eine ungewöhnlich hohe Anzahl an Aufrufen statt finden. Jeder Aufruf benötigt eine eigene Datenbankverbindung (es sind schließlich separate Prozesse) und wenn durch einen "amoklaufenden" Bot sehr viele Seitenzugriffe erfolgen, kann das Limit der maximalen Datenbankverbindungen erreicht werden. Es ist dann kein Problem der absoluten Verbindungsanzahl, sondern der parallelen Anfragen.

  • Ich sehe fortlaufend immer wieder zwischen 5 bis 12 Prozesse, die alle den Status "SLEEP" haben. Wenn ich jeweils aktualisiere, kommen und gehen stetig neue SLEEP Prozesse (erkennbar an den neuen Prozess-IDs), es erscheint als so, als würde der Server praktisch pro Sekunde oder alle zwei Sekunden mit zahlreichen neuen Prozessen bombardiert werden, die alle den Status SLEEP haben.

    Das ist ganz normal und hat folgenden Hintergrund:
    Das WCF öffnet eine Verbindung zum MySQL-Server sobald es mit der ausführung startet, und beendet die Verbindung erst dann wenn die seite fertig geladen ist (was völlig normal ist). Die Verbindung ist nun während der Verbindung immer dann im SLEEP wenn diese nicht gerade verwendet wird (also wenn keine Daten abgefragt werden).


    Wenn du das Benchmarking anmachst, wie lange läd dann die seite insgesammt ?
    Sehr langes Laden kann dazu führen dass parallel viele php-prozesse aktiv sind und somit parallel viele verbindungen aufgebaut werden...

  • Herzlichen Dank soweit an alle. Die weiteren Informationen sind schonmal sehr hilfreich und lehrreich. Leider gelingt mir noch immer nicht, damit das Problem zu lösen. Zumidnest steht fest: ich kann das Problem replizieren:


    1. Ich schreibe irgendwo einen Beitrag im Forum - das geht ganz gut
    2. Ich schreibe woanders im Forum einen 2. oder 3. Beitrag - der Browser fängt jetzt an, immer langer zu werden, die eingetippten Buchstaben erscheinen mit wachsender Zeitverzögerung, man merkt spürbar, dass alles immer zähler und langsamer wird. Wenn es mir noch gelingt einen Beitrag abzusenden, dann wird der Ladebildschirm (siehe neuen Screenshot) z.T. ewig lange angezeigt

    3. Spätestens beim 3. oder 4. Posting kommt es dann zum Crash, die Forensoftware lässt o.g. Fehlermeldung aufpoppen, der Brower friert ein und stürzt ab, z.T. reißt er das ganze System mit, dass sich erst nach einem Freeze von 1 oder 2 Minuten wieder erholt


    Diese Fehlerentwicklung kann ich beliebig replizieren von unterschiedlichen PCs aus.


    Ich habe gerade eben auch noch eine weitere Fehlermeldung bekommen, vielleicht hilft die jemandem (siehe 2.Schreenshot).


    Gibt es irgendeine Idee, wo und wie man die Fehlerursachen weiter eingrenzen könnte?


    Danke und Gruß,


    TheConvexity

  • Ja, diese Vermutung habe ich auch, ich habe mich aber noch nicht getraut, jetzt alle Pakete wieder herauszureißen zumal alle Pakete aus dem Woltlab Plugin-Store stammen.


    Nachfolgend die Paketliste:



    Ich weiß nicht ob das irgendwas zu mit den derzeitigen Problemen zu tun hat, ich sehe aber auch gerade, dass es für ein Paket ein Update gibt, welches ich nicht installieren kann (gibt wieder Fehlermeldungen):



    Nochmals Danke für den Support soweit.

  • Die Fehlermeldung bezüglich des nicht unterstützten Updates ist dem Autor bekannt, am besten das Paket einfach deinstallieren und dann neu installieren.
    Sollte aber nichts mit deinem eigentlöichen Problem zu tun haben ;)

  • Hallo,


    gerne kannst du uns / mir einen Testzugang via Ticket, Konversation oder E-Mail an duesterhus@woltlab.com zukommen lassen. Möglicherweise ist das Plugin direkt ersichtlich. So kann ich dann auch direkt den Autor informieren.

    Vielen Dank. Ich habe eben ein Ticket eröffnet und auf diesem Wege die Login-Details für einen temporären Admin-Account an euch gesendet.



    Die Fehlermeldung bezüglich des nicht unterstützten Updates ist dem Autor bekannt, am besten das Paket einfach deinstallieren und dann neu installieren.
    Sollte aber nichts mit deinem eigentlöichen Problem zu tun haben ;)

    Ist auch meine Annahme. Danke für den guten Hinweis, ich werde später das Paket eben kurz vom System runterhauen und dann neu aufsetzen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!