Fred Furunkelstein 2011: Threaddrift: Sinnvoller Einsatz von mysql_pconnect

Beitrag lesen

Tach Sven1

Dein Szenario mal zusammengefasst: Im Prinzip braucht man keine persistenten Verbindungen. Bei den Massenhostern wirkt pconnect() sowieso nur wie connect(). Bei Szenarien mit vielen DB-Usern ist pconnect() in der Gefahr, die Datenbankserver zu überlasten.

Da hast Du Recht, was auch gilt wenn Du für meinen Geschmack die negativen Apsekte ein wenig überbetonst. Du hast Übrigens vergesen, dass bei vielen Massenhostern (und auch sonst) die Zahl der Webserver nicht mit der der Datenbankserver übereinstimmt.

Und auch das Performance-Argument ist von dir nicht mit belastbaren Zahlen belegt. Wieviel würde man mit pconnect() unter idealen Bedingungen denn wirklich gewinnen?

Das hängt von den "idealen Bedingungen" ab. Ich vermute bei entfernten Servern mit bescheidenen Ping-Raten, womöglich noch virtuellen Netzen oder Verschlüsselung dürfte der Gewinn sehr gut spürbar werden.

Eines sollte ich noch erwähnen, manche Poster auf PHP .net behaupten, es gäbe bei mysql_pconnect() auch Probleme mit offenen Transaktionen und temporären Tabellen. Hier muss man also sehr sorgfältig programmieren.

Du hast also nochmals recht, empfehlen wir den Laien lieber mysql_connect oder das neuere mysqli_connect() / mysqli_init() / mysqli::__construct() - und hofen wir damit nicht noch mehr Verwirrung zu stiften...

Fred