Angenommen, wir haben eine Website mit 100 000 aktiven Benutzern.
Wenn wir E-Mail, Name, Nachname und Geschlecht von Benutzern in Sitzungen speichern möchten, wie viel Speicherplatz ist allen Sitzungen zugewiesen?
Beeinflussen die Sitzungen den Server-RAM, die Serverbandbreite oder etwas anderes?
Bitte geben Sie mir ein paar Informationen über die Sitzungsfunktionalität und den Effekt der Sitzungsüberlastung auf dem Server.
Die Sitzung selbst verbraucht den Server-RAM, wenn Ihr Modus auf InProc
eingestellt ist, was nur durch die Menge an RAM begrenzt ist, die für den Arbeitsprozess verfügbar ist.
In Anbetracht Ihrer hohen Nachfrage möchten Sie sehr vorsichtig sein, was Sie in die Sitzung einbringen, nur wenn es absolut notwendig ist. Stellen Sie Dinge nicht in die Sitzung und lassen Sie sie dort für die Verwendung in einer oder zwei Seiten, gehen Sie einfach zurück zur Datenbank und holen Sie sie, sonst wird Ihre Sitzung Größe drastisch schleichen.
Je nachdem, was Sie speichern, sind es nur 5kb oder weniger, also basierend auf 100k Benutzern:
%Vor%Sie sehen also, obwohl Sie nur ein paar Details speichern, ist die Speicherbelegung bei dieser Nutzungsstufe ziemlich hoch.
Für eine derart hohe Nachfrage und Verwendung würde ich einen dedizierten Zustandsserver ( StateServer
mode) in Erwägung ziehen, der es Ihnen ermöglicht, ihn separat zu verwalten und die Ressourcen diesem Server nach Bedarf zuzuweisen.
Die andere Option verwendet die SQL Server-Sitzung ( SQLServer
mode), die nur durch die Größe begrenzt ist, die für die Datenbank verfügbar ist. Wir reden hier also von Festplattenspeicher und nicht von RAM. Um ehrlich zu sein, wenn Sie in die Datenbank gehen, um Ihre Sitzungsinformationen abzurufen, warum dann nicht einfach in die Datenbank gehen und die Informationen abrufen, die Sie sowieso brauchen?
Ich würde Ihnen empfehlen, solche Daten im Client zu speichern, wenn Sie 100k Benutzer haben. Ihre Seiten sind größer und benötigen mehr Bandbreite, Sie reservieren jedoch weniger Speicherplatz auf dem Server. Wenn Sie über eine ASP-Anwendung sprechen, lesen Sie diesen Artikel Ссылка
HINWEIS:
Diese Antwort wurde gepostet, als das OP nach php und asp.net fragte.
Beeinflussen die Sitzungen den Server-RAM, die Server-Bandbreite oder so? sonst?
Sitzungen betreffen Server RAM
Bitte geben Sie mir ein paar Informationen über die Sitzungsfunktionalität und Auswirkung der Überlastung der Sitzung auf dem Server.
Wenn die Auswirkungen von Sitzungen den Server überlasten, wird der Server wegen der Verwendung des RAM langsam ausgeführt.
Die meisten Einstellungen von Sitzungen können in der php.ini Datei
geändert werden Wenn Sie mehr über die Sitzungsfunktionalität erfahren möchten, sollten Sie die Seiten über Sitzungen auf php.net
Es gibt zu viele Informationen über Sitzungen, die tatsächlich in einer Antwort gepostet werden.
Tags und Links asp.net-mvc asp.net session