2009-09-16 119 views
9

运行会话状态服务器而不是InProc的开销性能损失是多少?这很重要吗?我知道你可以重新启动状态服务器的w3wp并保留所有的会话状态 - 这是InProc的唯一优势吗?ASP.NET会话状态服务器与InProc会话

回答

10

这取决于您的部署计划:在单个服务器上,惩罚很小,但好处同样有限:会话状态在进程回收(如前所述)下仍然存在,但就是这样。你将在StateServer模式下进行一些跨进程编组,所以期待一些额外的CPU负载,没有什么太令人印象深刻的。

在网络农场/负载平衡设置中,InProc不起作用,除非您可以配置粘滞会话/服务器关联。请注意StateServer节点本身可能成为单点故障的事实,因此请务必予以补偿。话虽如此,StateServer的延迟一般比使用SQLServer模式时少得多(=更好)。

确保您的代码/网站正常处理丢失状态,无论您存储数据的位置如何。

0

如果您有一个负载平衡设置(不使用粘性会话),您不能使用InProc,因为(根据您的负载平衡设置当然),您可能会在节点之间切换。

工作进程的回收(但当然与重新启动w3wp相同)也会在InProc时终止会话。