MySQL:max_connections reached, jede Nacht

rok°ǃ
Posts: 34
Joined: 2006-02-24 17:51

MySQL:max_connections reached, jede Nacht

Post by rok°ǃ »

Hallo!

Auf meinem Webserver (Lenny: Apache2, MySQL5, PHP5.2) beobachte ich schon seit längerem ein Problem, dessen Ursprung ich nicht erkennen kann. Ein Blick im Anhang veranschaulicht es relativ schnell. Nahezu jeden Tag (mysql_threads-week.png) steigen ab 24:00 Uhr die MySQL-Threads an (mysql_threads-day.png). Irgendwie werden die zu spät beendet. Ich habe mal eine Nacht lang mitgeloggt, meist starten SELECTs. Die CLOSE-Befehle der Verbindungen kommen dann aber sehr zeitverzögert (im Schnitt bis zu 10min), obwohl der SELECT Befehl schon abgesetzt wurde. Das hat dann irgendwann zur Folge, dass dann max_connections erreicht ist. Was dann passiert, kann man sich ausmalen. Da der Mailserver auch die MySQL-DB nutzt, gibt's hier manchmal ziemlichen Stress mit eingelieferten Mails.
Der ganze Hokuspokus endet 6:25Uhr, wenn die "daily" Cronjobs ausgeführt werden. Bis dahin kann ich weder hohe Systemlast, noch hohen Traffic (if_eth0-day.png) oder mehr SQL-QUERYs (mysql_queries-day.png) erkennen.

0:01Uhr startet ein MySQL Backupscript. Mittels mysqldump werden alle DBs "gerippt" und in eine bz2 Datei gepackt. Dauert max. 10min.

Hat jemand noch einen Tipp für mich, wie ich das Problem eingrenzen und beheben kann? max_connections raufsetzen ist sicherlich keine langfristige Lösung...


Danke!
Guß
Roger.
Top

rok°ǃ
Posts: 34
Joined: 2006-02-24 17:51

Re: MySQL:max_connections reached, jede Nacht

Post by rok°ǃ »

matzewe01 wrote:'show full processlist';
'show master status';
'show innodb status';

Direkt während der Peaks, oder jetzt?
(btw: "show master status" sagt: empty)

matzewe01 wrote:Es ist erstmal zu klären, ob ggf. durch den dump Locks entstanden sind.

Ich habe die DB direkt nach dem Backup sogar mal neu starten lassen -i nsofern dürften ja die Locks verschwunden sein - keine Änderung.

matzewe01 wrote:wieviele Requests kommen dort denn an? standardmässig an die 90 Threads?

Requests oder Threads? Hast du mal auf die verlinkten Bilder gesehen? Die sehen exakt jeden Tag so aus +/-10 Threads. Und die Auslastung beginnt wirklich erst ab 1.00Uhr. Tagsüber, wo eigentlich der meiste Traffic auf dem Server entsteht, liegen die Threads so um die 10-40.

matzewe01 wrote:-> Wobei mir diese regelmässigen Spitzen ebenfalls interessieren würden speziell deren Verursacher.

Genau die Verursacher suche ich ja. Ich tippe momentan auf irgendein Debian-"Reinigungs/Prüfscript". Ist aber nur geraten, gefunden habe ich keins.
Top

rok°ǃ
Posts: 34
Joined: 2006-02-24 17:51

Re: MySQL:max_connections reached, jede Nacht

Post by rok°ǃ »

hi!

Ich glaub ich bin dem ganzen etwas näher gekommen! "processlist" zeigt mir ja alle laufenden Connections an. Und da habe ich gesehen, dass das alles Verbindungen von TYPO3 Präsenzen waren. somit hatte ich da schon mal einen ansatz und habe das hier gefunden: http://bugs.typo3.org/view.php?id=8885

Liegt wohl daran, das TYPO3 von Haus aus Persistent Connections benutzt, diese aber nicht ordnungsgemäß schließt, sofern nicht mehr benötigt.

Ich hab die p.-Connections jetzt erst mal deaktiviert. Mal sehen, wie es kommende Nacht aussieht. Ich melde mich.
Top

rok°ǃ
Posts: 34
Joined: 2006-02-24 17:51

Re: MySQL:max_connections reached, jede Nacht

Post by rok°ǃ »

Super. Danke nochmal!
Das war wirklich das Problem.
Der MySQL Server popelt sich ab sofort wieder in der Nase.
Top