Zum Inhalt springen

MySQL - ständig "too many connections"


Isch2k

Empfohlene Beiträge

Hallo,

zunächst möchte ich auf einen Thread in einem anderen Forum verweisen. Dort konnte man mir bislang noch nicht wirklich weiter helfen. Da das ganze recht dringlich ist, versuche ich es nun hier ;)

Also bitte erst das hier lesen: http://www.rootforum.de/forum/viewtopic.php?t=39070

Also. Mitlerweile liegt die ganze Webseite auf einem anderen Server. Dort passiert genau das gleiche!

Ideen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

falls das eine Rolle spielt: es geht um http://www.isch2k.net

da sind gut und gerne mal bis zu 1000 user gleichzeitig online!!!

ich habe schon einige scripte entfernt... seitdem ist die seite immerhin wieder recht schnell geladen! Das hat vorher mal locker 30 sekunden dauern können!

jetzt sind es 0-2... Aber den MySQL Fehler kriege ich immernoch!!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Poste bitte mal das Script in dem du die Datenbankverbindung aufbaust (aber nimm die Verbindungsdaten raus ;) ) und beschreib etwas genauer was das für eine Anwendung ist.

Ich habe den Verdacht das du (gesetz dem Fall es ist PHP) mysql_close() nicht benutzt.

/€: Dieses Fehlermeldung sagt mir das du es zwar (jetzt) benutzt, aber nicht richtig...

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /var/www/ema4/html/www.isch2k.net/include/userloginisch_head.php on line 391

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich wollte eigentlich editieren, aber irgendwie geht das nicht (da ist kein Editbutton o_O)

//€: Nach mehr nachdenken:

Es gibt 2 Möglichkeiten, entweder die DB-Verbindung wird nach ende des Scriptes nicht geschlossen, das darf eigentlich nicht sein die Zend-Engine sollten die Datenbankverbindungen nach beendigung des Scriptes selbsttätige schließen, aber das ist möglicherweise Einstellungssache, forsch da mal nach.

Die zweite möglichkeit wäre das tatsächlich zu viele gleichzeitige Verbingungen aufgebaut werden. Auch dies kann eigentlich nicht sein (selbst wenn die Seite 1000 User gleichzeitig hat, laden diese ja nicht alle zur selben Zeit eine Seite (und werfen damit ein Script an), sondern verweilen gewisse Zeit auf einzelnen Seiten.

Sollte es aber dennoch an letzterem liegen, wären folgende Lösungsmöglichkeiten da...

Kurzfristig könntest du einfach die Anzahl der möglichen Verbindungen hochschrauben, das belastet allerdings den Server. Dann könntest du auf persistente Verbindungen umsteigen (aber richtig, lies mal das manual dazu).

Vermutlich liegt es aber an einem bescheidenen Design (entschuldige ;) ).

So wie ich aus den von dir im anderen Forum geposteten Dingen lese, baust du pro Seitenaufruf gleich mehrere DB-Verbindungen auf (zumindest 2: "functions.inc.php line 311" und "datei.php on line 48"). Bau das um.

Benutz pro Seitenaufruf genau eine Datenbankverbindung, die du für jeden Query benutzt. Das könntest du ganz am Anfang jeder Seite machen und die Verbindungskennung in einer Globalen Variablen speichern).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich hab jetzt mit großer Hilfe einige Dinge rausgefunden und das Problem mehr oder weniger behoben...

Also die langen Ladezeiten lagen mitunter, an teilweise verkorksten php-scripten... ich hab die seite über 5 Jahre hinweg programmiert ^^

Aber nach einer netten Aufräumaktion, habe ich einige performance-töter eleminiert:)

mysql_close() war überall vorhanden!

Aber auch da waren noch kleine fehler... die aber schon vorher behoben wurden...

Das Hauptproblem war eigentlich, dass max_connections ja nur unter [mysqld] in der my.cnf stehen darf. Ansonsten bleibt die Zeile unbeachtet!

Naja, ich hab das nicht bemerkt und es waren letztlich immer maximal 100 connections... die können bei 500 bis 1000 onlineusern natürlich einen egpass darstellen ;)

Es lag also auch nicht am Server ,) Ich habe mich jetzt auf 500 max_connections eingependelt... 100 waren schlicht weg zu wenig!!!

Die Seite werd ich für testzwecke dennoch jetzt einige Tage auf dem stärkeren Server liegen lassen... dort kann ich sie besser optimieren!

Danke für die Hilfe... auch wenns schon fast zu spät war !

Aber noch ist ja nix perfekt... das Thema bleibt also aktuell ;)

Auf jedenfall ein Dickes Danke an Michael ;))

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...