phpbar.de logo

Mailinglisten-Archive

[php] PHPLIB, DB-Class

[php] PHPLIB, DB-Class

Johann-Peter Hartmann php_(at)_phpcenter.de
Tue, 11 Sep 2001 10:25:50 +0200


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