André Mantz: PHP-Sessions vrs. eigene Sessions per DB ?!?

Hallo zusammen,

ich habe heute mal eine grundsätzliche Frage: was haltet ihr für besser - Sessions per PHP-Sessionfunktionen oder selbst verwaltete Sessions mittels einer MySQL-DB?
Ich habe mal einen kleinen Benchmark gemacht. Das Öffnen einer PHP-Session, lesen der Sessioninhalte und wieder schließen der Session dauert bei mir in der Regel rund 2 bis 3 mal solange wie der Connect zum MySQL-Server, lesen der benötigten Daten des Users aus einer Userdatenbank (~1500 User in DB) und wieder Schließen der DB-Verbindung. Wenn ich den DB-Connect nicht mit in die Messung einbeziehe sondern von einer bereits geöffneten DB-Verbindung ausgehe, dann ist der Faktor sogar 5 - 10 mal. Und das ist sogar realistischer, denn wenn ich die Sessions per PHP verwalten lasse muß ich ja doch in fast jedem Script zusätzlich die DB öffnen.

Deshalb habe ich mich entschlossen, zukünftig lieber selbst die Sessiondaten in einer DB abzulegen, anstatt die Verwaltung den entspr. PHP-Funktionen zu überlassen.

Welche Erfahrung habt ihr mit diesem Thema? Gibt es gute Gründe, die für PHP sprechen? Mal abgesehen davon, dass man da nix selbst programmieren muß.

Gruß, André

  1. zu zeiten von php 3 (als es noch keine richtige sessionverwaltung in php gab) hab ich mir eine eigene geschrieben, basierend auf einer datenbank. da ich eh immer ne datenbank im schlepptau habe, nutze ich die heute noch und seh eigentlich auch keinen grund, das zu ändern.