SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.07.2009, 14:15:32
schrubba schrubba ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 110
Garbage Collector

Hallo Zusammen.. :)

ich hab da mal wieder eine kleine Frage, diesmal in Bezug auf den Garbage Collector.

Wenn ich richtig recherchiert habe, dann ist das ja die sogenannte Session-Müllabfuhr, was ich schon des öfteren gelesen habe. Die stellt man mittels 3 Werten ein, folgende Werte sind bei mir derzeit aktuell eingetragen:

session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 3600

Wenn ich das jetzt richtig verstanden habe, ergeben diese Werte, daß der GC mit einer 0,1%igen Chance bei session_start() gestartet wird und die Sessions, die länger als 3600 Sekunden im "Idle" sind gelöscht werden. Also wenn der GC läuft, fliegen alle raus, die länger als 1h nicht mehr aktiv waren.

Habe ich das so richtig verstanden?
Und was habt Ihr so erfahrungsgemäß eingstellt?


Gruß
schrubba
Mit Zitat antworten
  #2  
Alt 17.07.2009, 09:10:42
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Garbage Collector

Zitat:
Zitat von schrubba Beitrag anzeigen
Habe ich das so richtig verstanden?
eine andere information kann ich dem handbuch jedenfalls nicht entnehmen .-

Zitat:
Zitat von schrubba Beitrag anzeigen
Und was habt Ihr so erfahrungsgemäß eingstellt?
ich hatte bisher keine veranlassung, an den werten herumzuschrauben - daher kann ich zu den einstellungen nichts sagen.

cx
Mit Zitat antworten
  #3  
Alt 17.07.2009, 10:06:08
schrubba schrubba ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 110
AW: Garbage Collector

Hi cortex,

was mich besonders interessiert, ist, wenn man den GC öfters laufen lässt, also die Wahrscheinlichkeit heruntersetzt, ob das negative Auswirkungen auf die Performance des Servers hat bzw. wie stark sich das bemerkbar macht.


Gruß
schrubba
Mit Zitat antworten
  #4  
Alt 17.07.2009, 10:41:26
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Garbage Collector

hi schrubba,

Zitat:
Zitat von schrubba Beitrag anzeigen
wenn man den GC öfters laufen lässt, also die Wahrscheinlichkeit heruntersetzt
die wahrscheinlichkeit, dass die gc anläuft, wird grösser .-

Zitat:
Zitat von schrubba Beitrag anzeigen
negative Auswirkungen auf die Performance des Servers [...] bzw. wie stark sich das bemerkbar macht.
denke, das kommt auf die anzahl der zugriffe auf skripte mit initialisierung einer session ab. bei jeder initialisierung wird die durchführung der gc geprüft - so interpretiere ich das handbuch. in dem fall werden alle session-dateien im entsprechenden ordner auf dem server durchgerödelt. wie stark sich das bemerkbar macht, kann sicher nur ein anwendungsspezifischer benchmark klären.

wieso willst du eigentlich daran herumschrauben? imho einziger grund könnte das hier beschriebene problem sein.

cx
Mit Zitat antworten
  #5  
Alt 17.07.2009, 11:48:06
schrubba schrubba ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 110
AW: Garbage Collector

ähm.. meinte ich ja, daß die Wahrscheinlich größer wird.. ;)

Das verlinkte Problem trifft es eigentlich auf den Punkt und ich bin halt noch nicht sicher, welchen Weg ich einschlage. Auf der einen Seite steht der Zusammenhang mit der Session-Cookie-Gültigkeit bis Browser geschlossen wird und auf der anderen frage ich mich, warum ich eine Session aufrecht erhalten soll, die 1h oder länger nicht in Gebrauch war.

Ich bin mir da halt noch unsicher, welchen Weg ich einschlage und habe mich dazu halt mit dem GC beschäftigt, um vllt einen Kompromiss zu finden. Erster Gedanke war den GC-Session-Timeout höher zu setzen (was ich ja schon getan habe) und im Gegenzug den GC öfters mal laufen zu lassen. Aber ob das so das Wahre ist, das will ich halt rausfinden und habe gehofft, daß damit schon jemand Erfahrungen gesammelt hat.


Gruß
schrubba
Mit Zitat antworten
  #6  
Alt 17.07.2009, 14:51:30
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Garbage Collector

Zitat:
Zitat von schrubba Beitrag anzeigen
Auf der einen Seite steht der Zusammenhang mit der Session-Cookie-Gültigkeit bis Browser geschlossen wird und auf der anderen frage ich mich, warum ich eine Session aufrecht erhalten soll, die 1h oder länger nicht in Gebrauch war.
es geht nicht darum, eine session aufrecht zu erhalten, sondern die veralteten files rauszuschmeissen, die sich im per session.save_path spezifizierten ordner mit der zeit ansammeln.

cx
Mit Zitat antworten
  #7  
Alt 17.07.2009, 17:00:46
schrubba schrubba ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 110
AW: Garbage Collector

Ja, aber wenn der GC läuft, dann schmeisst der alle Session-Dateien weg, die länger als 1h (in meinem Falle) nicht mehr aktiv waren, obwohl man den Browser noch offen hat.

Und bei der ner Chance von 0,1% und ca. 4 angemeldeten Usern ist mir das schon des öfteren passiert. Ist halt verwirrend für den User wenn er sich plötzlich neu einloggen muss.

Auf der anderen Seite finde ich das gar nicht so verkehrt, daß wenn der User länger als z.B. 2h nicht aktiv war, aber den Browser bzw. die Seite noch offen hat, die Session ungültig wird. Ist aber ein User ständig aktiv, bleibt die Session so lange erhalten, bis er den Browser schliesst.

Ich weiß, so etwas kann man auch mit eigenen Mitteln realisieren, aber mit dem GC könnte man doch so 2 Aufgaben in einer unterbringen.. also denk ich mal.. und hoffe mich jetzt richtig ausgedrückt zu haben.. ;)


Gruß
schrubba
Mit Zitat antworten
  #8  
Alt 17.07.2009, 17:27:45
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
AW: Garbage Collector

Ein Tipp:
Bleib bei den standard Einstellungen!

Und wenn du das aus irgend einem Grund nicht kannst, dann gib der Session einen Namen und lege einen eigenen Ordener für die Sessiondateien an.

3600 Sekunden ist schon weit weg vom Standard.

Wenn deine User länger als 1440 Sekunden eingeloggt bleiben sollen, dann setze ein Dauerlogin Cookie. So wie es hier und in anderen Foren auch gemacht wird. Oder/Und: Verpass der Seite per JS einen Heartbeat.



Bedenke:
Wenn auch nur ein einziges Script mit einer anderen Einstellungen läuft, dann knallts bei deiner "spezial" Lösung.

Geändert von DokuLeseHemmung (17.07.2009 um 17:31:50 Uhr)
Mit Zitat antworten
  #9  
Alt 17.07.2009, 17:44:12
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Garbage Collector

Zitat:
Zitat von schrubba Beitrag anzeigen
[...] dann schmeisst der alle Session-Dateien weg, die länger als 1h (in meinem Falle) nicht mehr aktiv waren, obwohl man den Browser noch offen hat.
wenn du keinen "kalten" rausschmiss haben willst, musst du das durch die anwendung abfangen, bspw. einen hinweis ausgeben: sie waren länger als x minuten nicht aktiv... bitte erneut anmelden.

Zitat:
Zitat von schrubba Beitrag anzeigen
Ist aber ein User ständig aktiv, bleibt die Session so lange erhalten, bis er den Browser schliesst.
wie doku schon sagt: dauerlogin-cookie oder heartbeat (der ausdruck war mir bisher nicht geläufig .-)

Zitat:
Zitat von schrubba Beitrag anzeigen
mit dem GC könnte man doch so 2 Aufgaben in einer unterbringen
kann man, allerdings zu lasten der benutzerfreundlichkeit.

cx
Mit Zitat antworten
  #10  
Alt 17.07.2009, 17:51:13
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Garbage Collector

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Ein Tipp: Bleib bei den standard Einstellungen!
sehe ich prinzipiell genauso. ausnahme: ich will dem user - wie zuvor beschrieben - einen hinweis ausgeben. in verbindung mit einer skriptseitigen begrenzung der session-dauer während user-inaktivität können die standard-settings probleme bereiten: falls ich bspw. ein zeitfenster > session.gc_maxlifetime wähle und die gc zuschlägt.

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
[...] gib der Session einen Namen und lege einen eigenen Ordener für die Sessiondateien an.
würde ich prinzipiell empfehlen.

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Wenn auch nur ein einziges Script mit einer anderen Einstellungen läuft, dann knallts bei deiner "spezial" Lösung.
da kommt wieder meine favorisierte lösung frontcontroller ins spiel... da kann mir sowas eigentlich nicht passieren .-

cx
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:44:07 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt