Seite 1 von 1

My SQL Fehlermeldung

Verfasst: 14.03.2005, 22:11
von jaap
Hallo,

ich bekomme seit kurzen die unten aufgeführte Fehlermeldung.
Habe seit Mail letztes Jahr einen Server bei schlund gemietet - Ready to run server -

Der Traffic und die Zugriffe auf die SQL waren gleich mal mehr mal weniger ...

Seit ca. 4 Wochen habe ich die unten aufgeführte my SQL Fehlermeldung..

Ich gehe aufgrund der Fehlermeldung davon aus der schlund.de mit die SQL Abfragen gedrosselt hat ....

Möchte mich aber hier nocheinal an Profi wenden denen diese Fehler bekannt ist und diese Fehlermeldung genau definieren können....

Und was man da gegen machen kann wenn man keinen Root Server hat sondern nur einen Ready to run Server bei schlund.de

Die Fehlermdlung lautet:

"User dbo111111111 has already more than 'max_user_connections' active connections"

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


My SQL Fehlermeldung

Verfasst: 14.03.2005, 22:27
von ttr
Hi Jaap.

Die Fehlermeldung besagt, dass du zu viele verbindungen zum mysql-server gleichzeitig aufgebaut hast.
Das kann entweder daher kommen, dass du in dem php-script zu viele verbindungen öffnest, oder dass zu viele zugriffe auf deinem Server zur selben zeit statt finden.

Du solltest versuchen in den php-scripten möglichst nur eine mysql-verbindung pro anfrage einer seite aufzubauen.

Möglicherweise kann es auch helfen statt einem mysql_connect() ein mysql_pconnect() zu benuzten.
Das mysql_pconnect() versucht bevor es eine neue DB-Verbindung aufgebaut eine bereits existierende zu übernehmen und somit die Anzahl der verbindungen klein zu halten.

Hoffe, dass es bischen weiter hilft.

Gruss ttr

My SQL Fehlermeldung

Verfasst: 14.03.2005, 22:42
von jaap
Hallo ttr :D ,

jaap Deine Erklärung ist passt und stimmt vollkommen mit meiner Erkenntnis über ein ... :D

Aber jetzt erkläre mir mal bitte warum ich über 6 Monate immer an die ca. 120 Mitglieder online hatte und ca. 70 bis 80 Gäste online ...

Und ich seit vier Wochen bei ca. 100 Mitglieder und ein paar Gästen die unten aufgeführte Fehlermeldung bekommen :lol:

Klar weil der Server gedrosselt wurde die SQL Anfragen wurden vom Hoster gedrosselt ....

Das zuviele Anfragen bei entsprechenden Traffic gestellt werden da wollen wir uns nichts vor machen das ist klar...

Die Frage ist nur warum lief der Server bei über 8 Monate perfekt mit Useranzahlen von 130 online und Gäste über 60 bis 100 online ohne Fehlermeldung - oki der Seitenaufbau wurde langsamer aber es kam zu keiner Fehlermeldung....

Und jetzt bei knappen 100 Mitglieder diese Fehlermeldung "User dbo11111111 has already more than 'max_user_connections' active connections"

Da muss manipuliert worden sein 8)

My SQL Fehlermeldung

Verfasst: 14.03.2005, 22:56
von jaap
aber noch mal eine andere Frage kann ich einfach im Script die Anfragen die mit mysql_connect() beginnen in mysql_pconnect() ändern?

Kann ich das Script komplett mit mysql_pconnect() abändern oder muss ich zb in einer php PHP Seite eine Anfrage mit mysql_connect() lassen und die anderen Anfragen in der selben PHP Seite mit mysql_pconnect() ändern.

Und hätte das nur einen positiven Aspeckt das Script komplett mit mysql_pconnect() ändern oder würde es hier zu Konflikten kommen da ja wie Du gesagt hast die mysql_pconnect() Abfrage erst eine schon bestehende Verbindung sucht...

Dann noch zu guter letzt gehen wir mal davon aus und so ist es ja auch es einfach zuviele Abfragen gestellt aufgrund der hohen Besucherzahl und der damit verbunden Aktivitäten der Mitglieder.... lohnt es sich denn überhaupt das kompellte Script von mysql_connect() in mysql_pconnect() zu ändern bzw zu optimieren?

Gibt es da einen entsprechenden Vorteil?

My SQL Fehlermeldung

Verfasst: 14.03.2005, 23:07
von jaap
hier mal ein paar Abfragen die aber anders programmiert als mysql_connect()

$selectsms='selected';
$selectnf='';
$query="SELECT id FROM jaap WHERE jaap='$jaap' and jaap='$jaap'";
$result=mysql_db_query($dbname,$query,$conn) or die (mysql_error());
$found=mysql_affected_rows();
while($date=mysql_fetch_array($result))

oder ....

$query="UPDATE jaap SET time='$jetzt',jaap='$jaap' WHERE sessionid='$jaap'";
mysql_db_query($dbname,$query,$conn) or die (mysql_error());

hmmmm woe ist denn jetzt mysql_connect() zu finden ist das der Befehl $conn und wenn dieser das ist kann ich dann den $conn einfach in $pconn optimieren bzw ändern?

hmmmmmm :roll:

My SQL Fehlermeldung

Verfasst: 15.03.2005, 00:50
von ttr
Ohhh haa..

Jaa, ich glaub, dass es jetzt ein wenig zu kompex wird, um das ma eben im Forum durchzuschnacken.

Am besten kennste jemanden der das schon mal gemacht hat....
Aber soweit erstma zu deinen Fragen:

1. Es wird wahrscheinlich wirklich so sein, dass die Verbindungsanzahl gedrosselt wurde oder aber dass der Server auf dem du drauf bist sich langsam aber sicher mit anderen kunden auffüllt. Wobei das zweite eigetlich keinen einfluss auf die Anzahl der erlaubten verbindungen pro user haben dúrfte

2.Du kannst aus allen mysql_connect einfach mysql_pconnect machen aber achtung: Ich glaub es muss in der config von PHP aktivitert sein.
Und da du da wohl nicht ran kommst würd ich das erst einmal mit einer seite ausprbieren.

3. In deinem Code hast du schon richtig erkannt, das $conn die Verbindung zum MySQL-Server is.. aber man kann sie nicht einfach auf $pconn ändern. Vielmehr müsstest du vorher im code (möglicerweise auch in files, welche diese datei includiren / möglicherweise aber auch in classen gekappselt) ein:
$conn = mysql_connect( parameter );
stehen haben, welches du dann ándern kónntest.
Aber wie gesagt.... ich glaub, dass das zu weit führen würde.

Kleine frage am rande...
Was ist das für ein Code? selbergeschieben, openSource ? Ein Shop oder Forum?