【问题标题】:Session state SQLServer mode会话状态 SQLServer 模式
【发布时间】:2012-03-18 03:39:43
【问题描述】:

根据我的阅读,当会话状态处于 SQLServer 模式时,它总是必须访问数据库来获取和设置会话变量。这是真的还是在某些情况下可以使用缓存?如果您有任何关于此模式如何在后台工作的好文章,请随时在此处分享。我似乎无法在 Google 上找到任何相关内容。

我正在尝试评估使用它的风险(性能、可靠性等)

谢谢!

【问题讨论】:

    标签: sql-server session-state


    【解决方案1】:

    可靠性:您的 SQL Server 实例的可靠性如何?是集群的吗?是在远程服务器上吗?

    性能:SQL Server 会话状态是性能最低的会话状态选项之一。我假设您在 ASP.NET 应用程序中使用它并且拥有多个 Web 服务器。对于每个需要会话状态的请求,它将执行至少 1 次数据库查询。如果在请求期间更新了会话状态,则会执行一个额外的更新查询。此外,存储在会话状态中的所有内容都将被读取/更新。如果您可以小心地限制哪些页面/资源需要会话状态,它可能会正常运行。

    替代方案:如果您只在一台 Web 服务器上运行,则可以使用 State Server。如果您需要支持多个 Web 服务器,您可以考虑使用 App Fabric Caching Session State provider 或 NCache。这两者都将比 SQL Server 执行得更好,并且可能比 SQL Server 具有更高的容错能力。

    【讨论】:

    • 非常感谢菲尔的回答!这个 App Fabric 的东西非常有趣。不知道。
    猜你喜欢
    • 1970-01-01
    • 2013-02-19
    • 2013-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    相关资源
    最近更新 更多