Sven Rautenberg: Wie groß darf die Session-Variable sein?

Beitrag lesen

Moin!

Solange Du also nicht an die Speichergrenze für Dein Script stößt, hätte ich da keine Bedenken, 2MB in der Session zu parken. Immerhin handelt es sich nur um einen einzigen Lesezugriff und einen Schreibzugriff pro Scriptaufruf. Bei Datenbankabfragen entsteht schon wesentlich mehr Overhead.

Andererseits dauert ein Schreibzugriff für 2 Megabyte an Daten (wobei anzumerken ist, dass durch das serialisieren des Arrays bei ungünstigen Daten ein Vielfaches an Datenmenge entstehen kann) doch schon eine gewisse Zeit. Und damit sich Schreib- und Lesezugriffe nicht gegenseitig stören, wird die Datei exklusiv gelockt für das gerade beendete Skript, um die Session-Variablen zu speichern - in der Zeit kann kein anderes Skript starten und die Datei einlesen.

Es ist also das grundsätzliche Problem, dass Sessions sich gegenseitig stören, wenn man den Standard-Mechanismus "in Datei speichern" beläßt, viele parallele Skriptaufrufe für dieselbe Session-ID hat, und das Schreiben in die Datei verhältnismäßig lange dauert.

Welche Datenmenge dafür in der Realität in Frage kommt, habe ich allerdings noch nicht getestet. :) Ich schätze, dass es selbst mit zwei Megabyte noch keine Probleme gibt.

- Sven Rautenberg