【问题标题】:ASP.NET Session State Server vs. InProc SessionASP.NET 会话状态服务器与 InProc 会话
【发布时间】:2009-09-16 08:48:57
【问题描述】:

运行 Session State Server 而不是 InProc 的开销性能损失是多少?意义重大吗?我知道您可以使用状态服务器重新启动 w3wp 并保留所有会话状态 - 这是与 InProc 相比的唯一优势吗?

【问题讨论】:

    标签: asp.net session session-state-server


    【解决方案1】:

    这取决于您的部署计划:在单个服务器上,损失很小,但好处同样有限:您的会话状态在进程回收(如前所述)中幸存下来,仅此而已。您将在 StateServer 模式下进行一些跨进程编组,因此预计会有一些额外的 cpu 负载,没有什么太令人印象深刻的了。

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

    确保您的代码/网站能够优雅地处理丢失状态,无论您将数据存储在何处。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-25
        • 2016-06-17
        • 1970-01-01
        • 2011-02-12
        • 1970-01-01
        • 2010-09-24
        • 2011-06-09
        • 2010-12-02
        相关资源
        最近更新 更多