2011-10-15 37 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配置(尤其是会话一)在单台服务器上部署具有如此多活动用户的站点。