Thomas Schmieder: PHP: onlinestatus

Beitrag lesen

Hallo Micha,

die Sache mit dem Timestamp ist Dein Freund. Da kannst Du dann nämlich sogar die User erfassen, die sich gar nicht autentifiziert haben (unter "Anonym").

Wen eine Auth stattgefunden hat, dann wird bei jedem Zugriff auf eine Seite in der Logged-Tabelle der Datensatz aktualisiert. d.h. der Timestamp für die Userkennung neu gesetzt. Da User, auch wenn sie "passiv" sind, siche mal klicken, passiert das innerhalb eines angemessenen Zeitrahmens. Als angemessen würde ich so ca. 30-60 Sekunden bezeichnen. Man kann sogar soweit gehen, dass man das abstuft:

< 30 Sekunden -> schwarzer Link auf den User
< 60 Sekunden -> dunkelgrauer Link auf den User
< 180 Sekunden -> hellgrauer Link auf den User
< 600 Sekunden -> "eingeschlafen..."
und danach rausschmiss aus der Liste.

Die ganze Diskussion um "Belügen" ist eine rein akademische. Wann bist Du denn auf einer Party "anwesend"? Wenn man dich die letzen 2 Minuten irgendwo gesehen hat?

Durch die Art der Abstufung wird Dein Server übrigens nur unwesentlich mehr belastet. Das Script (oder der teil davon) für die Timestamp-Funktion ist derartig schnell durch, dass Du auf einem "normalen" PC (700er Athlon, nur IDE-Platte, 256MB) ungefähr 12.000 Seitenaufrufe (also das Script) pro Sekunde bedienen könntest. Dazu kommt natürlich dann die Last des Nutzinhalts.

Ohne Nutzinhalt könnte Dein Server dann aber bei einer mittleren Klickrate von 1 mal pro 30 Sekunden 36.000 "gleichzeitige" Benutzer bedienen. Ich wär schon froh, wenn ich 36 (gleichzeitige) hätte.

Grüße aus Braunschweig

Tom