Moduł obsługi sesji, „Baza danych” czy „Brak”?

11

W globalnej konfiguracji Joomla istnieje opcja „Session Handler”, jak opisuje jej opis

Mechanizm, dzięki któremu Joomla! identyfikuje użytkownika po połączeniu z witryną za pomocą nietrwałych plików cookie.

Jednak nadal nie rozumiem, co próbuje wyjaśnić.

Jakie są zalety i wady obu? Skąd mam wiedzieć, która opcja jest dla mnie dobra?

Hung Tran
źródło
1
Kilka poniższych odpowiedzi wydaje się faworyzować opcję „Brak”, ale sprawdź także inne pytanie, które sugeruje, że domyślna metoda „Brak” (tj. Plików ) do przechowywania sesji jest synchroniczna, tj. sesja jest zablokowana, gdy jest zapisywana.
MrWhite,

Odpowiedzi:

3

W opcji none używa domyślnego uchwytu sesji php, który używa plików do przechowywania danych sesji. W opcji bazy danych używa bazy danych do przechowywania danych sesji. W http://www.tuxradar.com/practicalphp/10/3/7 można dowiedzieć się więcej o plikach vs. bazach danych w sesji

csbenjamin
źródło
6

Podobnie do odpowiedzi @ codinghands, zapisanie sesji do bazy danych spowodowało, że mieliśmy zbyt wiele połączeń:

/programming/14506124/joomla-is-causing-too-many-connections-database-errors

Baza danych nie została uszkodzona, ale spowodowała awarię naszej witryny. Udało nam się to rozwiązać, zmieniając moduł obsługi sesji na none.

Ponadto możesz sprawdzić, w jaki sposób PHP przechowuje twoją sesję. Nasze były zapisywane na dysku twardym. To było powolne (do ~ 200ms) i nie jest dobre, jeśli chcesz zrównoważyć obciążenie serwerów. Opcja mysql byłaby odpowiednia do równoważenia obciążenia, jeśli można obejść problem „zbyt wielu połączeń”

ContextSwitch
źródło
3

Żeby dodać moje 2 centy: we wcześniejszych wersjach Joomla stwierdziłem, że _sessionsstół często ulega uszkodzeniu w witrynach przyjmujących dużą liczbę unikalnych użytkowników, a tym samym w otwartych sesjach, co powoduje obniżenie poziomu witryny do czasu naprawy / wyczyszczenia stołu. Użycie None rozwiązało to dla mnie.

kodowania
źródło