dedlfix: Connection zur SQL Datenbank aufwändig?

Beitrag lesen

Tach!

den Overhead für den Connection-Aufbau kannst Du mit persistenten Connections (ATTR_PERSISTENT beim new PDO) beseitigen. Dann bleiben die Connections mit gleichem User/Passwort unter der Haube geöffnet und werden wiederverwendet.

Klingt gut, wenn man das so liest. Dazu muss man aber eine Menge beachten. Damit Connections aufbewahrt werden können, muss irgendwas laufen, um sie zu verwalten. Das geht mit PHP als Apache-Modul, aber nicht, wenn es als CGI läuft und deswegen für jeden Request neu gestartet und beendet wird. Okay, das reine CGI nimmt man heutzutage nicht mehr, inwieweit aber FCGI und FPM dazu in der Lage sind, entzieht sich meiner Kenntnis.

Das PHP-Handbuch hat dazu Hinweise auf Lager: The mysqli Extension and Persistent Connections. Auch der alte mysql-Treiber wies auf zu beachtende Probleme hin: mysql_pconnect

Wenn man persistente Connections verwenden möchte, muss das also mit der Konfiguration des Datenbankservers abgestimmt sein. Und die Verwender müssen sicherstellen, dass sie keine unsauberen Verbindungen hinterlassen. Ich würde persistente Connections lediglich als Option anbieten, wenn überhaupt. Der Verbindungsaufbau zu MySQL geht sehr schnell, so dass man den Unterschied wohl eher kaum spüren wird.

dedlfix.