Sessionverwaltung

Garbage Collector

Der Garbage-Collector bezieht seine Daten aus der php-Konfiguration; dafür gibt es drei Direktiven:

  • session.gc_maxlifetime (default = 1440)
  • session.gc_probability (default = 1)
  • session.gc_divisor (default = 100)

gc_maxlifetime legt fest, nach wie vielen Sekunden eine Session als veraltet gilt. In meinem Tutorial wird dieser Wert an die Funktion session_garbageCollection($sess_maxlifetime); übergeben (den GC gibt es aber nicht nur bei der benutzerdefinierten Session-Verwaltung; diese Direktiven gelten auch bei der nativen Session-Behandlung).
gc_probability und gc_divisor bestimmen, wie groß die Chance ist, dass der GC-Prozess bei jedem Request gestartet wird. Die Standard-Werte legen eine 1%-ige Chance fest.

Beispiel:
Eine Homepage erhält 1000 Requests innerhalb eines Zeitraumes von 10 Stunden. Die Probability wurde auf 10 und der Divisor auf 100 gesetzt.

    - Wie hoch ist die Chance, dass der GC-Prozess bei jedem Request gestartet wird?

10 Probability / 100 Divisor = 0.1 (entspricht 10%)

    - Wie viele Requests sind das pro Stunde?

1000 Requests /10 Stunden = 100 Hits/Stunde

    - Wie viele Requests müssen gemacht werden, damit der GC-Prozess startet?

100 * 0.1 = 10 Hits

    - We viele Minuten vergehen durchschnittlich, bis ein GC-Prozess gestartet wird?

(1*60) * 10 / 100 = 6

Annika , 28.08.2010 um 00:22

php session