phpbar.de logo

Mailinglisten-Archive

RE: mysql_pconnect()
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: mysql_pconnect()



> -----Original Message-----
> From: Johannes Vogel [mailto:email_(at)_jvogel.ch]
> Sent: Keines
> To: mysql-de_(at)_lists.4t2.com
> Subject: Re: mysql_pconnect()
>
>
[...]
>
> Also ich kenn mich kaum aus und habe keine Erfahrungen mit pconnect. So
> wie ich das verstehe, ist's genau das Gegenteil. Wenn du die Connections
> offen lässt, wirst du viel schneller an die Grenze der 50 Connections
> kommen, da du diese nicht wieder schliesst. Aber ich kann mich
> täuschen...
>
> Ich würde das mal so erraten: User kommt auf die erste Seite - du
> startest ne pconnection auf. Danach wird ein Durchgang durchgemacht,
> wobei der Kunde immer identifiziert ist (cookie oder dergleiches) und er
> verwendet immer die gleiche connection. Irgendwann kommt er an den
> Schluss der Seite, wo du die connection dann schliesst.
>
> Kommt aber gleichzeitig ein zweiter Kunde, wird parallel dazu ebenfalls
> eine pconnection aufgebaut. Während der Kunde A also am 3. von 5
> Formularen am ausfüllen ist, bleibt die Connection von A offen und B hat
> ebenfalls eine geöffnet. Wenn wir das nun also weiterführen, sind wir
> ziemlich schnell bei 50 Connections und deine Seite steht still... :-(
>
> Deshalb lohnt es sich auch, die connection nach jeder Seite wieder zu
> schliessen, um freie connections zuzulassen...
>
> Dies alles ist nur geraten und angenommen. Vielleicht könnte es jemand
> bestätigen/dementieren? Würde mich ebenfalls interessieren.. :)
[...]

Zitat aus dem Manual:
<zitat>
mysql_pconnect() acts very much like mysql_connect() with two major
differences.

First, when connecting, the function would first try to find a (persistent)
link that's already open with the same host, username and password. If one
is found, an identifier for it will be returned instead of opening a new
connection.

Second, the connection to the SQL server will not be closed when the
execution of the script ends. Instead, the link will remain open for future
use (mysql_close() will not close links established by mysql_pconnect()
</zitat>

Ich interpretiere das so, daß alle Threads auf die eine connection zugreifen
können. Ich glaube mich erinnern zu können, daß persistent connections bei
hoher Belastung eingesetzt werden sollten, da das öffnen und schließen einer
connection eine höhere Last verursacht, als eine bestehende Verbindung
offenzulassen. Wird aber nur alle 30min auf die DB zugegriffen, wäre die
Belastung durch die offene Verbindung höher, als die durch das
Öffnen/Schließen verursachte.

Gute Nacht,

mw

---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive