MySQL 4.1.22 Problem - 1040 Too many connections
Es geht darum das bis vor zwei Wochen der Server, auf dem drei meiner Projekte liegen, normal funktioniert hat. Seit dem gibt es aber ständig den Fehler 1040. Mit dem Hoster hab ich gesprochen, und er hat max_connections von 100 auf 500 gesetzt. Jedoch nur manuell da beim Neustart Mysql nur 100 akzeptiert - obwohl unter [mysqld] eingetragen.
set-variable=max_connections=500
Habe meine Scripte, alle basierend auf dem selben Hauptscript, untersucht aber keine Probleme festgestellt. Zuhause auf Debian Sarge (und Etch) mit max_connections=100 und Stresstest gab es keine Probleme. An was kann es noch liegen? Ich bin derzeit allein mit den Projekten auf dem Server.
Das Script ist optimiert - jedenfalls sag ich das und einige andere Programmierer auch.
set-variable=max_connections=500
Habe meine Scripte, alle basierend auf dem selben Hauptscript, untersucht aber keine Probleme festgestellt. Zuhause auf Debian Sarge (und Etch) mit max_connections=100 und Stresstest gab es keine Probleme. An was kann es noch liegen? Ich bin derzeit allein mit den Projekten auf dem Server.
Das Script ist optimiert - jedenfalls sag ich das und einige andere Programmierer auch.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 55571
Url: https://administrator.de/contentid/55571
Ausgedruckt am: 25.11.2024 um 12:11 Uhr
7 Kommentare
Neuester Kommentar
Hm, hast Du vielleicht zu viel optimiert?
Kannst Du ein DB-Update ausführen lassen?
und vergiß vorher nicht, einen Datenbank-Dump zu ziehen...
Lonesome Walker
Kannst Du ein DB-Update ausführen lassen?
und vergiß vorher nicht, einen Datenbank-Dump zu ziehen...
Lonesome Walker
Was für eine Version setzt Du bei Dir zuhause ein?
Lonesome Walker
Lonesome Walker
Moin, TheDarkSide,
ich wollte mal nachfagen, ob und wie Du dieses Problem in den Griff bekommen hast.
Soweit ich die obige Beschreibung interpretieren kann, sehe ich nur zwei naheliegende Erklärungen.
Entweder Dein Hoster ist zu blond, um den Defaultwert von 100 in der /etc/my.cnf wirklich zu ändern {wie Du beschrieben hast--> set-variable=max_connections=500 in der [mysqld]-Section].
Anders kann ich die Aussage "Jedoch nur manuell da beim Neustart Mysql nur 100 akzeptiert - obwohl unter [mysqld] eingetragen. nicht deuten.
Andere mögliche Erklärung, die mir plausibel erscheint und auch den bestandenen Stresstest erklärt:
Es liegt doch auf Clientseite, bei Dir--> Du verbrätst mehr Connections als eigentlich beabsichtigt.
Das kann passieren, wenn Du unabsichtlich bzw. unwissentlich mit permanenten Connections agierst, die nach Beendigung der Session nicht geschlossen werden.
Also mysql_connect() anstatt mysql_pconnect() verwendest.
(BTW: Dass Du durch Programmierfehler Connections nicht schließt, kann ausgeschlossen werden??)
Überprüfe bzw. setze noch mal in der php.ini (nicht in der my.cnf !!)
Dann wird automatisch jeder eventuell vorhandene mysql_pconnect()-Aufruf als mysql_connect() ausgeführt.
Falls es etwas anderes war, poste bitte Ursache und Deine Lösung.
Grüsse
Biber
ich wollte mal nachfagen, ob und wie Du dieses Problem in den Griff bekommen hast.
Soweit ich die obige Beschreibung interpretieren kann, sehe ich nur zwei naheliegende Erklärungen.
Entweder Dein Hoster ist zu blond, um den Defaultwert von 100 in der /etc/my.cnf wirklich zu ändern {wie Du beschrieben hast--> set-variable=max_connections=500 in der [mysqld]-Section].
Anders kann ich die Aussage "Jedoch nur manuell da beim Neustart Mysql nur 100 akzeptiert - obwohl unter [mysqld] eingetragen. nicht deuten.
Andere mögliche Erklärung, die mir plausibel erscheint und auch den bestandenen Stresstest erklärt:
Es liegt doch auf Clientseite, bei Dir--> Du verbrätst mehr Connections als eigentlich beabsichtigt.
Das kann passieren, wenn Du unabsichtlich bzw. unwissentlich mit permanenten Connections agierst, die nach Beendigung der Session nicht geschlossen werden.
Also mysql_connect() anstatt mysql_pconnect() verwendest.
(BTW: Dass Du durch Programmierfehler Connections nicht schließt, kann ausgeschlossen werden??)
Überprüfe bzw. setze noch mal in der php.ini (nicht in der my.cnf !!)
; in der Section...
[MySQL]
; Permanente/persitente Connections verbieten
mysql.allow_persistent=Off
Dann wird automatisch jeder eventuell vorhandene mysql_pconnect()-Aufruf als mysql_connect() ausgeführt.
Falls es etwas anderes war, poste bitte Ursache und Deine Lösung.
Grüsse
Biber
Leider ist der
Hoster über Ostern nicht da um das
Problem zu besprechen.
Hoster über Ostern nicht da um das
Problem zu besprechen.
Dann würde ich an Deiner Stelle umgehend den Hoster wechseln.
Ich hoste z.B. selbst, und bin auch über die Feiertage zu erreichen.
(das nennt man übrigens Service )
Wie Biber schon angedeutet, denke auch ich, daß es 2 Möglichkeiten gibt...
(wenn es wirklich am Hoster liegt, daß er die my.cnf nicht richtig geschrieben hat, böses Autsch... )
Aber nachdem Du ja auch nicht genau sagst, was für eine Version Du zuum Entwickeln, und welche für das Live-System verwendest, kann ich leider nur meine Glaskugel polieren...
Lonesome Walker