pconnect()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • pconnect()

    Hallo,

    ich weiss, jeder rät davon ab, aber keiner sagt warum. Was passiert denn genau, wenn mysql "Too many connections" meldet.
    Habe mal eine Applikation getestet. Bei 20 virtullen Useren und einer Iteration macht mysql schon schlapp. Bei 10 Usern mit 20 Iterations läuft alles wunderbar. Woran liegt das?
    Was bringen mit persistente Verbindungen, wenn so schnell nichts mehr läuft??

    Danke für Eure Antworten!!

  • #2
    Persistente Connections würden 'ne Menge bringen wenn alle Verbindungen gleichartig wären (zumindest Host, User, Password) ... und zudem PHP die Fähigkeit hätte gleichartige Verbindungen schnell zu erkennen und diese wieder zu verwenden ... leider funktioniert das bei PHP nicht wirklich sauber ... und somit bleiben immer relativ viele Verbindungen offen, die jedoch nicht oder zumindest nicht zügig wieder verwendet werden ...
    Die Folge davon ist, dass die Anzahl der max_connections sehr viel früher erreicht wird ... und zudem jede nicht geschlossene Verbindung nicht unerheblich viele Resourcen verbraucht ... (genaueres kannst Du sehen wenn Du die Systemvariablen betrachtest und analysierst ob diese PerConnection oder PerServer gesetzt werden) ...
    Verschärfend kommt hinzu, dass auf den meisten Serversystemen sowohl der Web- als auch der MySQL-Server auf einer Hardware laufen, ein Connect auf "localhost" über einen UNIX-Socket ... und somit in kaum signifikanter Zeit durchgeführt wird ... ausserdem die "verschwendeten" MySQL Resourcen auch dem Webserver verloren gehen ...
    Zugegebener Massen gibt es allerdings auch noch Möglichkeiten mehr Resourcen zu verschwenden, indem man beispielsweise an jeder möglichen Stellen INSERT DELAYED verwendet ... allerdings ist das ein anderes Thema ...
    Bei einem "Too many connections"-Problem sollte man sich über die Erhöhung des "max_connections"-Parameters ... in jedem Falle aber über ein allgemeines Tuning des MySQL-Servers (eventuell andere Tablehandler) Gedanken machen ... um sein laufzeitverhalten zu optimieren ... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar

    Lädt...
    X