Sessions laufen zu schnell ab

Torti77

New Member
Hallo zusammen!

Ich habe bei 1und1 einen Windows Server. Auf diesem Server laufen diverse Webapplikationen, Scriptsprache ASP.

Für einige Bereiche ist eine Anmeldung erforderlich, welche in Session-Variablen gespeichert werden. Dabei habe ich das Problem, dass mittlerweile einige Nutzer geklagt haben, dass die automatisch nach dem Aufruf von ein paar Seiten wieder ausgeloggt werden und sich neu anmelden müssen.:eek:

Das Timeout für die Sitzung ist auf 20 Minuten gesetzt, der Standardwert.
Diese Zeitspanne wurde in den beschriebenen Fällen bei weiterem nicht erreicht (eher <1Min).

Was kann das sein?
Reicht der Speicher im Server nicht aus?
Kann man noch etwas konfigurieren?

Ich habe hierbei noch einen versteckten Frame (0px hoch), welcher sich per Meta-Tag alle 5 Minuten aktualisiert. Dadurch sollten dies 20 Minuten ausgehebelt sein, solange der Browser offen ist.

Die Besucherzahlen haben in den letzten Wochen zugenommen. Die Spitze innerhalb einer Stunde war bislang bei 12000 Seitenaufrufen (also ca. 3 pro Sekunde). Aber das sollte ja noch kein Problem sein...

Hat jemand eine Idee? :confused:

Gruß
Thorsten
 
Du gibst relativ wenig Fakten. Daher nur eine allgemeine Antwort:
Es hängt davon ab, wie das Session-Managment gelöst wurde.

huschi.
 
Hallo Huschi!

Danke für die schnelle Antwort, die mir aber natürlich genau so wie weiter hilft, wie dir wohl meine Frage weiter geholfen hat. ;)

Welche Informationen wären denn für eine Analyse hilfreich?

Gruß
Thorsten
 
Passende Fragen wären:
- Wie funktioniert das Session-Management?
- Wo werden die Session-Daten gespeichert?
- Wann erlischt eine Session in der Realität?
- Und die Basis: Was für ein Server, welches OS genau, welcher Webserver, etc.

huschi.
 
- Wie funktioniert das Session-Management?
Mittels Sitzungscookies wird der Austausch der Session-ID gesteuert. Das passiert automatisch durch den IIS. Von Code-Seite aus, speicherte ich nur die notwendigen String-Variablen. Thats it.

- Wo werden die Session-Daten gespeichert?
Der IIS die Daten im RAM.

- Wann erlischt eine Session in der Realität?
Im Normalfall erst nach den 20 Minuten des letzten Seitenaufrufes, was in der Realität auch meistens stimmt. Wie beschrieben kam jedoch von einigen Kunden bereits die Anmerkung, dass sie bereits öfter den Fall hatten, dass sie zwischen 2 Seitenaufrufen weniger als 1 Min. hatten und trotzdem ausgeloggt wurden.

- Und die Basis: Was für ein Server, welches OS genau, welcher Webserver, etc.
1und1-L64: Athlon 64x2 3800+, 2 x 2,0GHz, 1 GB RAM, 2 x 160 GB
Win 2003 Standard, IIS Webserver
.. sonst fällt mir nichts besonderes ein.


Mit welchem (freien) Tool könnte ich am besten eine Performance Auswertung machen?

Danke soweit!
Thorsten
 
Der IIS die Daten im RAM.
Aha! Kann es also ein Speicher-Problem sein?
RAM-Sessions sind meistens nicht Thread-Safe. (Aber ich kenne mich mit dem IIS nicht aus.)
Schon mal versucht die Session-Daten in die Datenbank bzw. in einem File zu speichern?

Mit welchem (freien) Tool könnte ich am besten eine Performance Auswertung machen?
Von Apache gibt es das Commandozeilen Tool "ab". Da es ein reiner Client ist, sollte es auch mit dem IIS funktionieren.
Du findest es z.B. als fertiges Windows-Programm im XAMPP-Paket.

huschi.
 
Ja, das mit dem RAM ist meine Befürchtung. :(

Weiß jemand, ob man bei 1und1 nur den RAM bei seinem Server erhöhen kann? Ich habe dazu bislang nichts gefunden und und jetzt wieder einen Serverumzug kann ich mir nicht leisten.

Ich habe in den letzten Stunden noch ein paar andere Sachen gefunden, die das gleiche, bzw. ein ähnliches Problem geschreiben.
p2p.wrox.com Forums - Session Variables Randomly Disappear?
Default AppPool Recycling Question

Ich werde mal schauen, ob die dort beschriebenen ändeurngen Erfolg bringen.

Soweit zumindest schon einmal vielen Dank.
Thorsten
 
@Torti: Da du schreibst, das es nur einige Leute betrifft, würde ich auch nachforschen, welche Browser da zum Einsatz kommen. Interessant sicherlich auch, ob eventuell irgendwelche Plugins genutzt werden, mit denen man Cookies verwalten (erlauben, verbieten, etc.) kann. Ich denke da zum Beispiel an so was wie den CookieSafe für den Firefox.
 
Bei RAM-Sessions denke ich direkt an ein Projekt welches mal mit Tomcat in JSP programmiert wurde. Dort wurden auch alle Session-Daten in ein persistenten Objekten abgelegt.
Problem war tatsächlich der Speicher als die User-Zugriffe größer wurden.
Der Garbage-Collector der JRE hat dann einfach "nicht mehr gebrauchte Objekte" (sie wurden ja nur über Session-Objekte referenziert) diese ins Jenseits gebracht.
Naja, und halt ein Tomcat-Neustart... :)

Ein verlegen der Session-Daten in die Datenbank hat bei irrelevanten Performance-Einbüßen Abhilfe geschaffen.

huschi.
 
Back
Top