2011-10-15 41 views
6

如果我有一個網站用戶登錄和註銷,並且每個用戶有4個會話變量被使用,這將如何影響我的網站?每個用戶有多少個會話變量被認爲是太多? - PHP

說如果我有100,000個活動成員,那麼這將有效地同時傳遞400,000個會話變量。這會影響我的網站加載嗎?我知道PHP有一個內存限制,但不完全理解它。

謝謝

+7

您有一個擁有100,000個同時活躍用戶的網站?做得好! – NullUserException

+2

大部分開銷是每個會話,而不是每個會話變量。 – Kzqai

+3

可能重複[在_SESSION中存儲多少個變量時]?(http://stackoverflow.com/questions/4681277/how-many-variables-is-to-many-when-storing-in-session) –

回答

6

每個用戶4個變量不算什麼,但我的建議將在不同的級別上:關注導致您網站實際瓶頸的原因。這個問題現在可能沒有什麼關係,如果這會讓你失望,很容易從未來切換。 (它不會)

我敢打賭,你有更重要的工作要比擔心另一個變量,當你達到這個數量的活躍​​用戶,你的整個結構可能會改變,包括服務器和解決方案。祝你好運!

+0

再次 - 重要的是要建立一個性能基準,獲得一些硬性數據,並且對可以擴展的規模和不規則的規模作出一些量化的結論。擔心類似「PHP會話中的#/變量」這樣的內容比在這一點上毫無用處更糟...... – paulsm4

0

答案當然是「它要看」。

強烈建議:

1)樹立 「業績比較基準」

2)考慮,如CPU,內存,網絡和磁盤

3)考慮OS,Web服務器,應用程序和數據庫資源

4)運行壓力測試,並「正常負載」之間的比較效果的「高負荷」

5)確定瓶頸,並適當地處理它們

假設你運行的是Linux/Apache/MySql(我完全猜測 - 你沒有說),這是一篇很好的三部分文章,可能讓你開始正確的方向:

但相信我:擔心像你是否有代替5個會話變量或4細節,而不是試圖收集固體基線統計數據,是不是會幫助你規模到10萬用戶:)!

1

很快就會回答 - 是的,如果您擁有10萬用戶,它會影響您網站的加載。但它不會因爲會話而只有,它們將成爲瓶頸的一部分。

很容易計算出可能的內存消耗,並根據這一點決定如何擴展您的網站。 縮放選項是無止境的(當然,作爲一個短語,有一個有限的方法來縮放程序,但仍然有很多可供選擇的方法)。

如果碰巧您吸引了很多用戶,那麼在擴展您的網站時,您將有機會獲得專業幫助。

如果您想知道這些選項是什麼,那麼在確定何時何地可能出現瓶頸時,最好提出一個具體問題的問題,以免麻煩您。

此外,您不要使用默認PHP配置(尤其是會話一)在單臺服務器上部署具有如此多活動用戶的站點。