Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Zuviele SQL Verbindungen im Sleep seit 2.x?

    derheiko

    • Fördermitglied
    • Beiträge: 464
    • Geschlecht:
    Zuviele SQL Verbindungen im Sleep seit 2.x?
    am: 18. Mai 2017, 13:15:25
    Hallo,

    seit 2~3 Monaten bin ich auf Modified 2.x umgestiegen.

    Seit dem hatte ich es immer wieder mal, dass ich bei Aufruf der Seite die Meldung erhielt

    "Unable to connect to Database".

    Aber so schnell wie ich die Meldung sah, so schnell war sie auch weg und die Fehlermeldung kaum Möglich.

    Vom SQL Server erhielt ich die Meldung:

    Code: PHP  [Auswählen]
    mysql_connect(): User ***** already has more than 'max_user_connections' active connections in

    Letze Woche Mittwoch war dies für rund 10 Minuten ein Dauerzustand, so dass ich All-Inkl (unser Hoster) anrief.
    Wir haben dort einen eigenen XL Server und er sah dass dort lange SQL Verbindungen aufstehen.
    Sozusagen im Sleep sind.

    Standardmäßig haben All-Inkl. Server wohl nur 25 max SQL Verbindungen.
    Wenn diese dann alle im Sleep sind, kann kein weiterer auf unsere Seite.
    Er meinte, wir haben immer so ca. 20 Verbindungen im Sleep. Das ist hart an der Grenze.

    Er erhöhte die Zahl auf 50 und bis eben war Ruhe. Plötzlich erhielt ich wieder die Meldung.
    Der Techniker am Telefon nahm sich etwas mehr Zeit und erklärte mir was da gerade passiert und wo ich das sehen kann.

    Im Phpmyadmin kann ich unter Prozesse sehen, das dort offene Verbindungen vorhanden sind.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Anfangs hatte ich unsere WaWi unter Verdacht. Aber selbst komplett abgeklemmt haben wir dauerhafte offene SQL Verbindungen. Diese kommen auch nicht - laut all-inkl. Techniker - von externen Usern sondern vom auf dem Server befindlichen Scripten.

    Der Techniker vermutete erst, das Abfragen am Ende einfach nicht geschlossen werden. Diese würden dann aber nach 120 Sekunden von alleine geschlossen.

    Aber dies revidierte er, weil er im phpmyadmin sah das die Verbindung von alleine nach 70 bis 110 Sekunden schlossen.

    Hier mal ein paar Screenshots der Datenbank im "normal" Betrieb.

    [ Für Gäste sind keine Dateianhänge sichtbar ]
    [ Für Gäste sind keine Dateianhänge sichtbar ]
    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Wir haben nun die Zahl auf 100 erhöhen lassen, aber das ist nur suboptimal.

    Habt ihr einen Tipp, wie ich rausfinden kann, was dort die Verbindungen aufmacht bzw. in Sleep setzt?

    Danke vorab für eure Hilfe.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=37226.0

    Cookie

    • Fördermitglied
    • Beiträge: 278
    Re: Zuviele SQL Verbindungen im Sleep seit 2.x?
    Antwort #1 am: 18. Mai 2017, 14:35:56
    Hallo,

    du hast sicherlich die persistenten MYSQL Verbindungen in der configure.php aktiviert. Daher kommen die vielen Verbindungen, was aber ganz normal ist. Wenn Du das abschaltest, werden die Verbindungen wieder weniger.

    Grüße
    Christian

    derheiko

    • Fördermitglied
    • Beiträge: 464
    • Geschlecht:
    Re: Zuviele SQL Verbindungen im Sleep seit 2.x?
    Antwort #2 am: 18. Mai 2017, 14:57:52
    Ganz vielen lieben Dank. Das war es!
    Jetzt ist wieder alles runter.

    derheiko

    • Fördermitglied
    • Beiträge: 464
    • Geschlecht:
    Re: Zuviele SQL Verbindungen im Sleep seit 2.x?
    Antwort #3 am: 18. Mai 2017, 15:22:36
    Nachtrag:
    Falls noch jemand über die Suchmaschine hier landet, weil er das gleiche Problem hat, hier die Erklärung warum es diese Funktion gibt:

    Code: PHP  [Auswählen]
    Wozu dienen persistente Verbindungen, wenn sie keine zusätzliche Funktionalität bieten?

    Die Antwort ist außerordentlich einfach: Effizienz. Persistente Verbindungen sind nützlich, wenn der Aufwand für das Herstellen einer Verbindung zu einem SQL-Server hoch ist. Ob dies der Fall ist oder nicht, hängt von vielen Faktoren ab - zum Beispiel, um welche Datenbank es sich handelt, ob sie auf dem gleichen Rechner wie der Webserver läuft oder welche Last die SQL-Maschine zu bewältigen hat usw.

    Quelle: http://php.net/manual/de/features.persistent-connections.php

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Zuviele SQL Verbindungen im Sleep seit 2.x?
    Antwort #4 am: 18. Mai 2017, 16:09:16
    Das ist die Standard Einstellung in der configure:

    Code: PHP  [Auswählen]
    define('USE_PCONNECT', 'false'); // use persistent connections?

    Stand das bei Euch auf 'true'?

    Gruss Web28

    derheiko

    • Fördermitglied
    • Beiträge: 464
    • Geschlecht:
    Re: Zuviele SQL Verbindungen im Sleep seit 2.x?
    Antwort #5 am: 19. Mai 2017, 08:07:13
    Ja und ich kann mir ehrlich gesagt nicht erklären warum.
    Ich bin der einzige der die Zugangsdaten hat.

    Das muss mir wohl beim letzten Update passiert sein, weil bei meiner Testumgebung ist dies nicht der Fall und die ist jetzt rund 4~6 Wochen alt.

    Aber ich werde dies mal weiter beobachten bzw. nach dem nächsten Update überprüfen.

    Schreinermeister

    • Fördermitglied
    • Beiträge: 425
    • Geschlecht:
    Re: Zuviele SQL Verbindungen im Sleep seit 2.x?
    Antwort #6 am: 05. November 2018, 16:32:02
    Hallo zusammen

    modified eCommerce Shopssoftware v2.0.4.2 rev 11374 dated: 2018-07-23

    ich habe im mod_warning.log fast täglich Meldungen ähnlich dieser
    Code: PHP  [Auswählen]
    [05-11-2018 13:23:40] E_WARNING : LoggingManager: mysqli_connect(): (HY000/1203): User dboxxxxxxxx already has more than 'max_user_connections' active connections in File: /homepages/28/dxxxxxxxx/htdocs/inc/db_functions_mysqli.inc.php on Line: 91
    [05-11-2018 13:23:40] E_WARNING : LoggingManager: Backtrace #0 - /homepages/28/dxxxxxxx/htdocs/includes/application_top.php called at Line 195
    [05-11-2018 13:23:40] E_WARNING : LoggingManager: Backtrace #1 - /homepages/28/dxxxxxxx/htdocs/index.php called at Line 25
    [05-11-2018 13:23:40] E_USER_WARNING    : LoggingManager: 1203 - User dboxxxxxx already has more than 'max_user_connections' active connections<br/><br/> in File: /homepages/28/dxxxxxxx/htdocs/inc/db_functions_mysqli.inc.php on Line: 161
    [05-11-2018 13:23:40] E_USER_WARNING    : LoggingManager: Backtrace #0 - /homepages/28/dxxxxxxx/htdocs/includes/application_top.php called at Line 195
    [05-11-2018 13:23:40] E_USER_WARNING    : LoggingManager: Backtrace #1 - /homepages/28/dxxxxxxx/htdocs/index.php called at Line 25
     
    allerdings ca. jeweils 40Stück zur gleichen Zeit.

    in der configure.php hab ich
    Code: PHP  [Auswählen]
    define('USE_PCONNECT', 'false');

    Mich wundert, dass es so viele zur gleichen Zeit sind.

    Gruß Chris

    manne35

    • Fördermitglied
    • Beiträge: 595
    • Geschlecht:
    Re: Zuviele SQL Verbindungen im Sleep seit 2.x?
    Antwort #7 am: 09. Juni 2021, 09:38:18
    Hallo,
    bei mir (Version  2.0.4.2) stand der Shop nun auch wegen
    "... has more than 'max_user_connections' active connections  ..."

    etwas Verbesserung brachte das Sperren eines häufigen Besuchers per htaccess.

    Allerdings stand in der configure auch:

    Code: PHP  [Auswählen]
    define('USE_PCONNECT', 'false'); // use persistent connections?

    Und dennoch war dies der Fall.

    Kann man diese persistenten Verbindungen auch in der ".htaccess" oder "php.ini" sinnvoll abbrechen oder löschen ?

    Dank für Tipps und Gruss
    manfred

    manne35

    • Fördermitglied
    • Beiträge: 595
    • Geschlecht:
    Re: Zuviele SQL Verbindungen im Sleep seit 2.x?
    Antwort #8 am: 09. Juni 2021, 16:09:37
    Nachtrag.
    Der Shop macht das richtig mit dem Schliessen der DB-Verbindungen.

    Es waren unzählige Verbindungen von einem oder vielen aws amazon Servern, die nicht geschlossen wurden  und so wurden irgendwie wahrscheinlich auch die DB-Connections nicht geschlossen.... hoffentlich hab ich das technisch korrekt wiedergegeben. 😀
    Gruesse manne
    11 Antworten
    5031 Aufrufe
    02. Juni 2015, 10:10:11 von hendrik
    1 Antworten
    2429 Aufrufe
    20. Oktober 2009, 08:06:10 von Tomcraft
    6 Antworten
    4500 Aufrufe
    23. Oktober 2016, 09:42:53 von fishnet