只读会话状态在 Web 场中的影响

Impact of session state read only in a web farm

最近为了在某种程度上允许并发请求并增加 performance,我们为我们的一个 .aspx 页面启用了 EnableSessionState="Readonly" 以只读访问会话数据。

我想知道在网络场中启用此功能,这是否会导致任何数据丢失或对服务器或用户产生任何其他影响?

当前网络场设置:

假设我们有 4 个服务器。

1. 假设用户 A 请求页面 http://example.com/StudentDetails.aspx,此请求命中负载均衡器。

2. 基于流量的负载均衡器将请求从 4 个可用服务器转移到任意 1 个。

3. 每个服务器都启用了 InProc 会话状态模式。

4.我们确保同一台服务器处理来自同一客户端的后续请求。

任何帮助都会很棒。

您预计会有什么影响?

您只需在一页中将其设置为只读即可。如果像您提到的那样,您甚至没有在服务器之间共享 session,那么实际上就 session 目的而言,您甚至没有农场。您只有 4 个单独的服务器。对服务器场没有影响,因为没有 session 共享。

如果您真的按照我在评论中的建议开始分享 session,那么我仍然认为即使有影响,影响也是微乎其微的。 Read-only 访问应该导致更少的阻塞(例如,如果用户同时请求两个 session-enabled 页面可能会发生),仅此而已。