Mailinglisten-Archive |
Hi Egon, Dank Dir für die ausführliche & nützliche Antwort :-) Egon Schmid schrieb: > Das Problem ist die Zahl der gleichzeitig offenen persistenten > Datenbankhandels. Wenn einer oder mehrere gerade benutzt werden, dann > wird vom Apacheprozess eine Verbindung aufgemacht. Hmm, dann habe ich php_mysql.c falsch verstanden (was nicht wirklich verblüffen würde :-) ) - ich hatte dort herausgelesen, dass a) wenn kein persistenter Link mit dem o.g. Tripel vorhanden ist, einer angelegt und in die persistant_list geschrieben wird, b) wenn einer in der persistant_list vorhanden ist, er benutzt wird. Sehe ich das falsch ? > Wenn dann auch noch > die Zahl der persistenten Verbindungen für Apache und MySQl > unterschiedlich groß eingestellt sind, dann scheitern die persistenten > an der unteren Grenze der gleichzeitig benutzten persistenten > Verbindungen. Das konnte man oft bei php.net beobachten. Man sollte auch > nicht vergessen, dass persistente Verbindungen sehr viel Resourcen > verschwenden, d.h. die Limits eines standardmäßig eingerichteten > Unix-Systems sind für viele persistenten Datenbankverbindungen nicht > vorbereitet. Aus Neugier: Welche Art Resourcen sind das ? > > *) Warum, um Himmels Willen, macht PHP bei "too many open > persistant links" > > nicht einfach einen nicht-persistenten connect ? > > Das liegt am PHP Programmier, wenn er sagt pconnect, dann meint er eben > pconnect und nicht connect. Wenn obige Meldung erscheint, dann dürfte es > zu spät sein um von den persistenten auf die nicht-persisteten > umzuschalte. Ok, dann so rum: warum wird nicht der am längsten nicht mehr benutzte persistente Link entfernt und ein neuer angelegt - das sollte den Praxisproblemen eher nahekommen. Viele Grüße - johann
php::bar PHP Wiki - Listenarchive