2011-10-15 20 views
6

Jeśli mam stronę internetową, na której użytkownicy logują się i wylogowują, a każdy użytkownik ma 4 zmienne sesji używane, w jaki sposób wpłynie to na moją witrynę?Ile zmiennych sesji na użytkownika jest za dużo? - PHP

Powiedzmy, że jeśli mam 100 000 aktywnych członków, wtedy to byłoby 400 000 zmiennych sesji przekazywanych w tym samym czasie. Czy wpłynie to na ładowanie mojej witryny? Rozumiem, że php ma limit pamięci, ale nie w pełni go rozumie.

Dzięki

+7

Masz stronę internetową ze 100 000 jednocześnie aktywnych użytkowników? Dobra robota! – NullUserException

+2

Większość kosztów ogólnych będzie przypadająca na sesję, a nie na sesję. – Kzqai

+3

prawdopodobny duplikat [Ile zmiennych jest dla wielu podczas przechowywania w _SESSION?] (Http://stackoverflow.com/questions/4681277/how-many-variables-jest-to-many-when-storing-insession) –

Odpowiedz

6

4 zmienne na użytkownika to nic, ale moja sugestia byłaby na innym poziomie: Skoncentruj się na tym, co powoduje rzeczywiste wąskie gardła w Twojej witrynie. Ten problem prawdopodobnie nie ma znaczenia w tej chwili i łatwo go przełączyć w przyszłości, jeśli to spowalnia działanie. (I nie będzie)

Założę się, że masz o wiele więcej ważnych rzeczy do roboty, niż martwić się o inną zmienną, a kiedy dojdziesz do takiej liczby aktywnych użytkowników, prawdopodobnie zmieni się cała struktura, w tym serwery i rozwiązania . Powodzenia!

+0

Jeszcze raz - ważne jest ustalenie linii bazowej, zdobycie twardych danych i wyciągnięcie wymiernych wniosków na temat tego, co będzie skalowane ... a co nie. Martwienie się o coś takiego jak "#/variables w sesji PHP" jest gorsze niż bezużyteczne w tym momencie ... – paulsm4

0

Odpowiedź brzmi: "to zależy".

STRONG sugestia:

1) Stworzenie "bazowy wydajności"

2) Rozważmy zasobów takich jak CPU, pamięci, sieci i dysku

3) rozpatruje OS, serwer WWW, aplikacji i bazy danych

4) Uruchom testy warunków skrajnych, i porównać swoje wyniki między „normalnych obciążeń” na „dużych obciążeń”

5) Zidentyfikuj wąskie gardła i radzić sobie z nimi odpowiednio

Zakładając, że używasz Linuksa/Apache/MySql (w sumie z mojej strony - nie powiedziałeś), oto doskonały trzyczęściowy artykuł, który może Ci pomóc zacząć prawy kierunek:

Ale uwierzcie mi: obawy o Minutia jak czy masz 5 zmiennych sesji zamiast lub 4, zamiast próbować zbierać solidne statystyki bazowe nie jest zamiar pomóc Skaluj do 100 000 użytkowników :)!

1

Odpowiedzieć krótko - tak, wpłynie to na ładowanie witryny, jeśli masz 100 000 użytkowników. Ale z powodu sesji, nie będą one ze względu na sesje, będą częścią wąskiego gardła.

Łatwo obliczyć możliwe zużycie pamięci i według tego powinieneś zdecydować, jak skalować witrynę. Opcje skalowania są nieograniczone (cóż, jako frazę istnieje skończenie wiele sposobów na skalowanie programów, ale wciąż jest ich wiele do wyboru).

Jeśli zdarza się, że przyciągasz tak wielu użytkowników, prawdopodobnie będziesz w stanie pozwolić sobie na profesjonalną pomoc w skalowaniu witryny.

Jeśli zastanawiasz się, jakie są te opcje, najlepiej zadać pytanie z konkretnymi rzeczami, które Cię niepokoją, kiedy decydujesz, kiedy i gdzie mogą występować wąskie gardła.

Nie wdrażasz także witryn z tylu aktywnymi użytkownikami na jednym serwerze, używając domyślnej konfiguracji PHP, szczególnie sesji pierwszej.