[英]SQL Server Session State, web farm, and counting the sessions
我有2个负载平衡的Web服务器。 我的应用程序在SQL Server 2008上使用SQL Server会话状态数据库。
这两个Web服务器在IIS配置方面是相同的,如果我理解正确,两个服务器上的两个Web应用程序将映射到ASPStateTempApplications表中的相同应用程序ID,因为它们具有相同的IIS配置。 因此,计算与此应用程序ID相关联的会话数(来自ASPStateTempSessions表)将导致两个Web服务器上的会话总数。
我的问题是: 有没有办法知道每个服务器上单独有多少会话?
我有一个问题,当我从负载平衡中取出一台服务器时,我想知道在回收它之前服务器上是否还有活动会话。
另一种情况是,如果我必须在其中一台服务器上回收IIS,因为同一服务器上的另一个Web应用程序崩溃了,我想知道在我这样做时会有多少会话受到影响。
谢谢。
基本上,它们都可能并且实际上应该在两者上都是活动的)因为在这种模式下,会话根本不绑定到Web服务器。
您可以在网关上使用负载平衡技术将每个用户粘贴到单个服务器上,如果是这样的话 - 更好地使用InProc模式及其所有好处)
由于会话数据存储在SQL Server中,因此您不必担心有多少会话处于活动状态。 一旦服务器关闭(或IIS被回收,具体取决于配置),负载均衡器将自动将任何新请求发送到活动的IIS服务器。 使用存储在SQL中的会话数据,活动服务器可以检索会话数据,并且用户将不知道发生了任何服务器切换。
理想情况下,您应定期测试此过程以确保正确配置所有内容。 此外,在向服务器安装修补程序时,应遵循此过程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.