Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Moin!

Was haltet Ihr von der Verwendung von Sessions unter PHP?

Bisher hab ich eigentlich überall Sessions verwendet, denn die Dinger sind sicher und sehr komfortabel, wenn's um das seitenübergreifende Speichern von Daten geht. Allerdings hab ich jetzt (zum ersten Mal überhaupt) von einem Nachteil gehört: Sessions sind ziemlich ressourcenhungrig...

Letztendlich soll eine einfache Session mehr Ressourcen fressen, als ein Datensatz in einer MySQL-Tabelle, der halt als Session-Esatz fungieren würde. Bei vielen Usern auf der Site gleichzeitig ist sowas ja nicht unwichtig...

Der Aufwand, soetwas per Tabelle und selbstgenerierter ID, die immer weitergegeben werden muß, zu realisieren ist natürlich höher, aber es hat auch Vorteile. Zum einen kann man diese Tabelle dann ja auch für Statistiken auswerten, zum anderen muß man sie nicht zwingend vor Senden des Headers benutzen und hat somit einige Freiheiten mehr...

Was meint ihr dazu? Benutzt Ihr Sessions oder wie realisiert ihr User-Tracking u.ä.?

Wer Links mit Infos zum Thema hat - immer her damit!

thx!

Geschrieben

Hi,

sessions sind pro Datei ca. 8 Kb groß wenn nur ein Zeichen drin steht.

Wenn man da von nem Forum wie diesem hier ausgehen würde, wären das in diesem Moment 86 solche kleinen Dateien plus zusätzliche durch den gc noch nicht gelöschte.

Da hat nen Lesekopf ganz schön zu tun.... :rolleyes:

Usertracking durch Cookies find ich eigentlich am schönsten, Schade das Cookies so einen schlechten Ruf haben. :(

Usertracking mittels Datenbank hab ich letztens probiert, relativ unkomfortabel und unterm Strich leidet da die Performance ab einer gewissen Userzahl genauso, nicht zu vergessen das die Anzahl der Connects bei z.B. MySQL enorm schnell nach oben geht.

Aber ist ein interessantes Thema...

MfG

Geschrieben
Original geschrieben von DanielH

Hi,

sessions sind pro Datei ca. 8 Kb groß wenn nur ein Zeichen drin steht.

Wenn man da von nem Forum wie diesem hier ausgehen würde, wären das in diesem Moment 86 solche kleinen Dateien plus zusätzliche durch den gc noch nicht gelöschte.

Da hat nen Lesekopf ganz schön zu tun.... :rolleyes:

Usertracking durch Cookies find ich eigentlich am schönsten, Schade das Cookies so einen schlechten Ruf haben. :(

Usertracking mittels Datenbank hab ich letztens probiert, relativ unkomfortabel und unterm Strich leidet da die Performance ab einer gewissen Userzahl genauso, nicht zu vergessen das die Anzahl der Connects bei z.B. MySQL enorm schnell nach oben geht.

Aber ist ein interessantes Thema...

MfG

8kb? :eek: :eek: - schreibst Du da ganze Romane rein? ;)...

Also meine Sessions sind meist so um die 200 Byte groß - da landen bei mir nämlich einmal alle Daten aus der Member-Tabelle, die zwischendurch immer wieder gebraucht werden (ID, Name, Loginzeitpunkt u.ä.) sowie die URL und die Variablen der aktuell angezeigten Seite (für Redirects etc.)...

Letztendlich kommt's AFAIK aber ja nicht auf den Speicherverbrauch an, sondern darauf, wie der Webserver die Sessions behandelt. Bei vielen Usern sind ja auch ständige Zugriffe auf die Sessions notwendig... - bei Datenbanken isses IMO ja aber auch nicht anders sondern eigentlich eher noch aufwendiger, da jedesmal ein Connect, Auslesen etc. erfolgen muß...

Allerdings sind Datenbank-Tabellen ja eigentlich schneller als einfache Textdateien, allein der Struktur wegen, da man in den Textdateien erst die gesamte Datei nach dem gesuchten Wert durchforsten muß... - aber bei der geringen Größe macht das doch eigentlich keinen Unterschied, oder?

Hab eben auch nochmal verschiedene Tutorials für Sessions bzw. User-Tracking durchgesehen und überall wurden Sessions als die beste Lösung angesehen... - von Nachteilen wie Ressourcenhunger wurde nirgends etwas erwähnt...

Geschrieben

Die Dateigrösse scheint wohl am FS zu liegen... :rolleyes:

Ich meine aber auch, das Sessions (oder Cookies) die bessere Lösung sind.

Mit Datenbanken ist es vermutlich nur dann schneller, wenn man dem user einen dauerhaften Connect gibt.

Wo lag da doch gleich nochmal die maximale Anzahl bei MySQL ?

Geschrieben

Das existierende Session-Management is schon eine feine Sache.

Standardmaessig werden Textdateien (die auch nur die groesse der gespeicherten Werte plus Trennzeichen haben) dafuer benutzt.

Allerdings kann man die Save-Routinen selber schreiben, siehe hierzu http://www.php.net/manual/de/function.session-set-save-handler.php

So ist es ohne weiteres moeglich eine mysql-Datenbank zu nutzen und man brauch nit die komplette Session-Verwaltung neu schreiben.

Ob sich das lohnt die Daten in mysql abzulegen haengt wohl von dem System ab. Wenn eh schon viele Festplattenzugriffe erfolgen, mag es sinnvoller sein, einen externen datenbank server zu nutzen, aber wo is das schon der fall.

Impulz

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...