有关ASP.NET中会话的要点

时间:2015-05-07 08:20:59

标签: asp.net asp.net-mvc session

假设我们的网站拥有100万活跃用户。

如果我们想在会话中保存用户的电子邮件,姓名,姓氏和性别,那么为所有会话分配了多少空间?

会话是否影响服务器RAM,服务器带宽或其他?

请给我一些关于会话功能和服务器上会话过载影响的信息。

3 个答案:

答案 0 :(得分:4)

如果您的模式设置为vicentealencar:cordova-fb 1.1.9 Login service for Facebo... ,则会话本身将使用服务器RAM,这仅受工作进程可用RAM的限制。

考虑到您的高需求,您希望在会话中非常小心,只有当绝对必要时才会这样。不要把事情放在会议中并留在那里用于一两页,只需返回数据库并获取它们,否则你的会话规模将急剧上升。

根据您存储的内容,它只有5kb甚至更少,因此基于100k用户,这将是:

Meteor.loginWithFacebook

所以你看,即使你只存储了一些细节,在这个使用级别上,内存使用量也非常大。

对于如此高的需求和使用,我会考虑使用专用的状态服务器(InProc模式),它允许您单独管理它并根据需要将资源分配给该服务器。

另一个选项是使用SQL Server会话(5kb * 100,000 = 488.28MB 模式),该模式仅受数据库可用的大小限制。所以我们在这里谈论硬盘空间而不是RAM。说实话,如果您要去数据库检索会话信息,那么为什么不去数据库并检索您需要的信息呢?

答案 1 :(得分:1)

注意:

这个答案是在OP询问php和asp.net

时发布的
  

会话是否会影响服务器RAM,服务器带宽等   别的?

会话正在影响服务器RAM

  

请给我一些关于会话功能的信息   会话过载对服务器的影响。

如果会话的影响使服务器超载,则由于使用RAM,服务器将运行缓慢。

可以在 php.ini 文件

中更改会话的大部分设置

如果您想了解有关会话功能的更多信息,请查看the pages about sessions on php.net甚至wiki

关于在答案中实际发布的会话的信息太多了。

答案 2 :(得分:1)

我建议您在拥有100k用户时将这些数据存储在客户端中。您的页面会更大,需要更多带宽,但您将在服务器上分配更少的内存。 如果您在谈论ASP应用程序,请查看本文http://www.codeproject.com/Articles/416137/Understanding-Session-Management-Techniques-in-ASP