假设我们有一个有100000活跃用户的网站。
如果我们想保存会话中用户的电子邮件、姓名、姓氏和性别,那么为所有会话分配多少空间?
会话是否影响服务器RAM、服务器带宽或其他什么?
请给我一些关于会话功能和会话重载对服务器的影响的信息。
发布于 2015-05-07 08:40:27
如果您的模式设置为InProc,会话本身将消耗服务器RAM,这仅受工作进程可用的RAM数量的限制。
考虑到您的高需求,您需要非常小心您在会话中所放的内容,只有当它是绝对必要的时。不要把东西放在会话中,把它们放在一两个页面中使用,只需返回数据库并得到它们,否则会话大小会急剧增加。
根据您正在存储的内容,它仅为5kb,甚至更少,因此,基于100 k用户,这将是:
5kb * 100,000 = 488.28MB所以您可以看到,即使您只存储了几个细节,在这个使用级别上,内存的使用是相当重要的。
对于如此高的需求和使用率,我会考虑使用专用状态服务器(StateServer模式),它允许您单独管理它,并根据需要将资源分配给该服务器。
另一个选项是使用Server会话(SQLServer模式),它仅受数据库可用的大小的限制。所以我们说的是硬盘空间而不是RAM。老实说,如果您要到数据库检索会话信息,那么为什么不直接访问数据库并检索您需要的信息呢?
发布于 2015-05-07 08:50:39
注:
这个答案是在OP询问php和asp.net时发布的。
会话是否影响服务器RAM、服务器带宽或其他什么?
会话正在影响服务器随机存取存储器。
请给我一些关于会话功能和会话重载对服务器的影响的信息。
如果会话导致服务器超载,则由于RAM的使用,服务器将缓慢运行。
会话的大多数设置可以在php.ini文件中更改。
如果您想了解更多关于会话功能的信息,应该查看关于php.net会话的页面,甚至维基。
有关会话的信息太多,无法在答复中实际发布。
发布于 2015-05-07 08:54:29
我建议您在拥有100 k用户时将此类数据存储在客户端中。您的页面将更大,需要更多的带宽,但是您将在服务器上分配更少的内存。如果您谈论的是ASP-应用程序,请检查本文http://www.codeproject.com/Articles/416137/Understanding-Session-Management-Techniques-in-ASP。
https://stackoverflow.com/questions/30095552
复制相似问题