我们使用的是退出会话状态服务/ASP.NET会话状态。我们知道这是有问题的,因为它在过去被滥用,太多的存储在会话状态太频繁,所以在转移到一个更可伸缩的系统的过程中。
不过,在此期间,我们正试图了解会话状态服务如何管理它的内存,以及我们有哪些限制。但微软无 of 这个 文档似乎涉及到了任何细节。
具体而言,我想知道:
所谓标准服务,我指的是这个:

发布于 2014-09-03 18:31:40
除了承载服务的机器之外,没有任何限制。如果它有16 GB的RAM,假设其他进程/ OS /等等使用了几个gigs,那么会话数据将有大约13 GB的内存可用。数据不会持久化到磁盘,因此数据只存在于RAM /内存中;这就是当您重新启动服务时所有会话都消失的原因。内存是不稳定的,工作起来就像一个RAM磁盘。
如果达到承载会话状态服务的机器的内存限制,则每个用户存储的数据过多,或者有太多的用户存储少量数据。您已经走上了正确的轨道,因为下一步是移动到分布式会话状态提供程序,以正确地进行缩放。这通常通过与会话状态提供程序一起提供的分布式缓存系统来实现,或者通过针对所述系统编写您自己的提供程序来实现。
数据不受每个用户的限制,但请注意,进程外通信总是通过序列化进行的。因此,有一个实际的限制,因为无论您如何处理每个请求,序列化/反序列化每个请求的用户数据都会非常缓慢。
https://stackoverflow.com/questions/25551753
复制相似问题