Too many connections

Diskutiere über Web-Entwicklung, Coding und Websites.
Antworten
LordHellsing
Second Lieutenant
Second Lieutenant
Beiträge: 1877
Registriert: Mi 31 Mai, 2006 23:08

Too many connections

Beitrag von LordHellsing »

Hab ein Problem mit meiner Internetseite http://www.geb-keller.de

Da kommt folgende Fehlermeldung:
Warning: mysql_connect() [function.mysql-connect]: Too many connections in /mnt/be1/06/838/00000010/htdocs/phpBB2/db/mysql4.php on line 48

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /mnt/be1/06/838/00000010/htdocs/phpBB2/db/mysql4.php on line 330

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /mnt/be1/06/838/00000010/htdocs/phpBB2/db/mysql4.php on line 331
phpBB : Critical Error

Could not connect to the database


Hab rausgefunden, dass die var max_connections wohl zu klein ist und erhöht werden muss.
Dies wollte ich in phpMyAdmin 2.6.4-pl3 ändern, doch darauf habe ich auch kein Zugriff:
MySQL meldet:
#1040 - Too many connections


Was soll ich nun tun? Weil weiter reicht mein Wissen nicht und google bringt auch nix vernünftiges.

Gruß
Hellsing
Benutzeravatar
Captain
Major General
Major General
Beiträge: 18373
Registriert: So 02 Jan, 2005 19:50
Wohnort: Stuttgart

Beitrag von Captain »

Die 1040 ist zummindest bei einer MySQL-Datenbank eben der Hinweis, dass zu viele Verbindungen zur Zeit aktiv sind. Diese Fehlermeldung signalisiert eine typische Überlastsituation.
Das ist glaub ich angemieteter Webspace, den du da nutzt oder ? Hast du ne Chance, den MYSQL-Daemon neu zu starten ?

Normalerweise solltest du die Anzahl nicht erhöhen, das ist eigentlich nicht notwendig. MYSQL unterstützt derzeit MAXIMAL 4000 Verbindungen. Das ist weit mehr als man für Projekte unserer Größe je brauchen wird. Aber man kann es schon versuchen von 100 auf 300 zu setzen oder so. Try and error tut in diesem Falle nicht weh.

Sollte es dann doch wieder vorkommen solltest du mal schauen ob eines deiner Skripte die Verbindung offen läßt.
http://dev.mysql.com/doc/refman/5.1/de/ ... close.html

Wenn du natürlich gerade 1000 Besucher auf deiner Seite hast (gleichzeitig) erklärt sich das auch. Das kann gut sein (tolle Seite, GRDB hat nie mehr als 500 gleichzeitig aufm Server) oder du bist Opfer einer Denial of Service-Attacke. Das müßtest du aber dann im Logfile erkennen können.
LordHellsing
Second Lieutenant
Second Lieutenant
Beiträge: 1877
Registriert: Mi 31 Mai, 2006 23:08

Beitrag von LordHellsing »

Ja das ist ein angemieteter bei Strato selbst hab ich nicht die Möglichkeit einen Neustart des MYSQL-Daemon zu machen.
Wer ich wohl den Support mal kontaktieren müssen.

Also glaube nicht, dass die Überlast durch zu viele gleichzeitige Besucher verursacht wurde. So gut besucht ist die Seite nicht :wink: Hast du ein Tipp in welchen Files ein Skript drin sein könnte, welches die Verbindung offen lässt?
Weil ich hab außer der Installation eines Partykalenders und der Templateanpassung weder an phpBB noch an dem Portal großartig was geändert.
Benutzeravatar
Captain
Major General
Major General
Beiträge: 18373
Registriert: So 02 Jan, 2005 19:50
Wohnort: Stuttgart

Beitrag von Captain »

Puh, gute Frage. Ich könnte mir denken, dass du das in der Show Processlist Seite in deinem PHPMYADMIN sehen kannst, sobald du mal wieder Zugriff hast. Da siehst du zwar nicht den Namen der Datei aber du siehst was sie macht. Bleibt die Verbindung wirklich persistent müßte dort eine lange Liste angezeigt werden. Vermutlich 100mal dasselbe. Anhand der Anweisung in der rechten Spalte kannst du dir zumindest Gedanken machen welches Skript es sein könnte.
LordHellsing
Second Lieutenant
Second Lieutenant
Beiträge: 1877
Registriert: Mi 31 Mai, 2006 23:08

Beitrag von LordHellsing »

Es geschehen noch Zeichen und Wunder!
Es geht von alleine wieder, jedoch ist die Seite sehr langsam und auch in PHPmyAdmin lässt es sich nur schwer arbeiten, da es so langsam ist.
Naja schau ich mir morgen mal genauer an, vielleicht geht es dann besser.
Dieses Show Processlist ist ja eine gewöhnliche Anweisung, die ich im SQL Abfragefenster eingebe, hab ich das richtig verstanden? Weil wenn ich dies mache zeigt es nicht wirklich viel an.
Benutzeravatar
Captain
Major General
Major General
Beiträge: 18373
Registriert: So 02 Jan, 2005 19:50
Wohnort: Stuttgart

Beitrag von Captain »

Normalerweise gibts da nen Eytralink im PHPMYADMIN. Prozesse heißt der Link. Wenn da nichts angezeigt wird riecht das irgendwie nach nem Hoster Problem. Oder einer der anderen Kunden auf dem gleichen Webspace hat nen Bug in seinen Skripten. Ich würde an deiner Stelle mal ein wenig abwarten.
LordHellsing
Second Lieutenant
Second Lieutenant
Beiträge: 1877
Registriert: Mi 31 Mai, 2006 23:08

Beitrag von LordHellsing »

killerkarotte hat geschrieben: Ich würde an deiner Stelle mal ein wenig abwarten.
Das hat auch geholfen :D Heute läuft alles wieder einwandfrei, hab mal den Wert von max_connections angeschaut, und der ist schon auf 1000, also ausreichend. Offene Prozesse habe ich auch nicht und das Logfile sieht auch normal aus.
Vermutlich lag es dann wie du schon meintest am Hoster.
Aber trotzdem danke für den klasse Support hier :)

Gruß
Hellsing
Benutzeravatar
Captain
Major General
Major General
Beiträge: 18373
Registriert: So 02 Jan, 2005 19:50
Wohnort: Stuttgart

Beitrag von Captain »

Ich helfe gerne und wenn dieser Thread jemals einem anderen helfen sollte würde es mich zusätzlich freuen.
Antworten