Zu viele Benutzer-Verbindugen?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von hunt33r, 9. Juli 2011 .

  1. 9. Juli 2011
    Hallo Leute,
    Seit gestern erhalte ich die folgende Fehlermeldung:

    Code:
    Warning: mysql_connect() [function.mysql-connect]: User 'xxx' has exceeded the 'max_user_connections' resource (current value: 4294967295) in /home/xxx/public_html/.../konfig.php line 3
    und das ist die konfig.php

    Code:
    $link = mysql_connect("localhost","xxx","password") or die ("Keine Verbindung moeglich");
    mysql_select_db("xxx_tabelle") or die ("Die Datenbank existiert nicht");
    Ich habe nie mit "mysqli_close()"; gearbeitet kann das daran liegen? Wenn ja wo muss "mysqli_close()" immer hin?

    Bitte um schnelle Antworten.

    Habe das Problem erst seit gestern---

    MfG
    hunt33r
     
  2. 9. Juli 2011
    AW: Zu viele Benutzer-Verbindugen?

    servus,

    php fuehrt ein mysql_close automatisch durch, sobald das script am ende ist.
    Versuch mal eine persistente verbindung aufzubauen. Der haelt dann die verbindung
    zum server aufrecht und connected sich bei mysql_connect nicht neu, wenn noch eine
    offene frei connecten im pool ist

    PHP: mysql_pconnect - Manual
     
  3. 9. Juli 2011
    AW: Zu viele Benutzer-Verbindugen?

    pconnect ist nicht umbedingt die beste wahl.

    zudem funktioniert pconnect nur mit php als modul UND ist vom apache abhänig.
    stimmt nicht ganz wie Marc weiter unten wiederlegt hat.

    da aber der apache gerne mal für den selben client neue worker spawnt, ist pconnect in solchen fällen nutzlos. im gegenteil, mit pconnect hat man dann sogar mehr connections als üblich und benötigt.
     
  4. 10. Juli 2011
    AW: Zu viele Benutzer-Verbindugen?

    Habe das Problem gelöst.

    Ich hatte den Benutzer für mehrere Datenbanken benutzt, was mach einem Update vom Server zu Problemen führte.

    Lösung: Für jede Datenbank ein Benutzer

    Gruß
     
  5. 10. Juli 2011
    AW: Zu viele Benutzer-Verbindugen?

    Heute wieder das gleiche Problem

    Kann man da etwas im CPanel ändern?
     
  6. 10. Juli 2011
    AW: Zu viele Benutzer-Verbindugen?

    Das ganze ist kein Problem innerhalb deines Scripts (vermute zumindest das du mit mysql_connect richtig umgehst), kein Fehler von PHP, oder dem Webserver. Es ist einfach eine Einstellungssache im DBMS.

    Da du MySQL verwendest findest du hier alles was du brauchst.

    Was mich nun aber interessiert: wie viele Besucher hat die Seite denn so?
     
  7. 16. Juli 2011
    AW: Zu viele Benutzer-Verbindugen?

    Murdoc,

    ich weiß nicht genau, was das nun mit dem Thema zu tun hat, außer eventuell, dass du versuchst meine Aussagen als unqualifiziert bzw. falsch darzustellen. Leider sind die Korrekturen von dir nicht im geringsten richtig.

    Falsch, denn durch die Persistenz werden diverse Login-Verfahren umgangen, sowie extra Threads auf dem MySQL selbst. Ob das nun lokal oder weit entfernt passiert, ist absolut egal. Ein Performance-Gewinn ist immer vorhanden, außer apache killt den worker direkt nach der Servierung, was aber absolut unüblich und sinnfrei ist.

    Leider auch falsch, denn pconnection funktioniert auch mit fastcgi, und dem ist es egal, ob apache das cgi startet oder anderer webserver. Erklärung:
    Außerdem benutzen wir selbst auf produktiv Servern fastcgi mit persistenter connection, von daher kann ich dir bestätigen, dass das auch ohne php als modul funktioniert.

    Falsch, denn sobald ein worker mehr als einen Client bedient ist schon ein Gewinn vorhanden. Der Apache forked nur ein neuen worker, wenn alle worker ausgelastet sind. Ob da nun von 5 Anfragen zwei an einen anderen Worker gehen, spielt keine Rolle, im gegenteil, denn da ist schon ein Gewinn vorhanden, denn die anderen 3 haben keine extra Connection aufgemacht.

    Kleine untermauerung: Nimmer Ärger mit den Persistenten Verbindungen von MySQL? (Teil 1/2) | the web hates me
    PHP: Persistent Database Connections - Manual
     
  8. 16. Juli 2011
    AW: Zu viele Benutzer-Verbindugen?

    das war nicht meine absicht.

    ok, du magst mit dem performanceteil recht haben (sorry an dieser stelle, hätte vielleicht besser recherchieren sollen), war aber davon war nie die rede, es ging um die anzahl der verbindungen.

    ob da jetzt zuviele persistente verbindungen oder normale verbindungen geöffnet werden ist doch relativ wurst, auch wenn folgeanfragen keine neuen mehr öffnen - sofern denn freie verbindungen im pool liegen.

    http://devzone.zend.com/node/view/id/686#fn1

    in wie weit sich das ganze nun mit mysqlnd gebessert hat weiß ich nicht. bin nicht auf dem neusten stand diesbezüglich und in dem blog-eintrag bei php-hates-me wurde auch nicht darauf eingegangen wie sich das ganze mit apache und dessen workern verhält.
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.