首先给大家介绍一下当前环境的背景。我们有许多 ASP.NET 应用程序,所有这些应用程序都在某些方面使用会话。由于流量级别,我们在多个服务器上进行了“负载平衡”,但是,我们的负载平衡设置为使用“粘性会话”,因为当前所有 Web 应用程序都设置为使用“InProc”作为会话状态。
我们正在考虑能够删除负载均衡器上的“粘性会话”配置,因为由于我们的流量负载,服务器可能而且确实会超载。我们希望采用更平衡的方法,但必须能够使用会话。
我知道用于会话状态的 SqlServer 可以工作,但是由于我们无法控制的原因,我们不能使用 SqlServer 来存储我们的状态。在研究中,StateServer 似乎是我们最好的选择。我们有一个额外的服务器,周围有大量的内存。这个服务器可以是我们整个 Web 集群的 StateServer。我们只想知道以下几点。
1.) 除了从 InProc 切换到 StateServer 的任何潜在的序列化问题之外,是否存在与上述环境丢失会话对象或生成错误有关的任何重大已知问题?
2.) 除了单点故障和稍慢的性能外,我们在使用 StateServer 时还需要注意其他任何问题。
3.) 是否有任何指标可以显示三种状态存储之间的性能差异?