AW: mysql too many connections
Interessant, aber wenn in SHOW PROCESSLIST nur zwei Verbindungen vorhanden sind, sind auch nur zwei Clients mit der DB verbunden. Mich würde der volle Eintrag interessieren der "sleep" enthält, und auch ob der periodisch wiederkehrt.
Ansonsten finde ich in der MySQL-Doku zu "aborted_*" nur
diese Seite.
# The client program did not call mysql_close() before exiting.
# The client had been sleeping more than wait_timeout or interactive_timeout seconds without issuing any requests to the server.
# The client program ended abruptly in the middle of a data transfer
Das mysql_close() sollte nicht wichtig sein, da laut Handbuch alle Verbindungen automatisch am Ende geschlossen werden. Ich habe in meiner lokalen Datenbank auch 0 aborted_clients, obwohl ich selten mysql_close() explizit nutze. Der Parameter ist auch optional, da automatisch die letztgeöffnete Verbindung geschlossen wird.
Der zweite Stichpunkt klingt schon interessanter: es könnte sein, dass irgendeines deiner Scripte ewig lange auf irgendwas wartet, während es verbunden ist. Das würde auch (glaube ich) das "sleep" erklären.
Der dritte Stichpunkt ist schon unwahrscheinlicher, mir fällt derzeit kein Fall ein bei dem das in einem PHP-Skript passieren könnte.
Für das aborted_connections steht dort:
Unsuccessful connection attempts can occur for the following reasons:
* A client does not have privileges to connect to a database.
* A client uses an incorrect password.
* A connection packet does not contain the right information.
* It takes more than connect_timeout seconds to get a connect packet. See Section 5.1.4, “Server System Variables”.
If these kinds of things happen, it might indicate that someone is trying to break into your server!
Hier ist der letzte Satz wichtig. Wenn jemand unerfolgreich versucht, sich zu deinem MySQL-Server zu verbinden (kann man ja, wenn er nach aussen offen ist), dann erhöht sich der Zähler. Sowas steht dann wahrscheinlich in der Log-Datei, falls die aktiviert ist.
Ich würde an deiner Stelle wohl mit dem Support reden, vielleicht kriegst du sie dazu ein paar Logs für deinen Server rauszurücken. Falls zum Beispiel ein Angreifer scriptgesteuert versucht auf den MySQL-Server zu kommen, dann macht er das mglw. parallel. Ergo belegt er gleichzeitig viele der maximal möglichen Verbindungen.
Edit: achja, deine Frage
Warum aber steigt das wenn ich die Verbindung immer wieder schließe?
Der Zähler ist ja für fehlerhafte Verbindungen, der sinkt nie.
Duddle