我们的应用程序遇到了很多问题,这些问题存在间歇性的性能问题,这些问题使用ASPSTATE来管理其会话状态。在高容量时,我们看到ASPSTATE中的会话表阻塞很多,导致用户响应显着降低。
我们遵循了微软通过知识库文章和顾问提供的大量建议 - 包括对PurgeSession存储过程的更新,并修改每5分钟(从10分钟开始)的安排。但是仍然没有运气。
阅读了大量博客后,似乎没有任何建议能够提供帮助 - 我们的会话规模非常小(平均为14k),尽管在我们的问题期间我们仍然会看到TempGetStateItemExclusive3导致阻塞。
应用程序在元素中使用了AJAX - 我在这个博客中看到过一条评论,它表明使用AJAX和ASPSTATE可能存在潜在的问题。有没有人遇到这个以及如何解决这个问题? http://www.rjp-software.co.uk/blog/2010/03/asp-net-sessions-with-sql-server/
我们目前的情节是使用粘性负载均衡器转移到INPROC会话状态,尽管知道使用AJAX和ASPSTATE确实存在一般问题是很好的!我觉得很难相信没有其他实施方案可以解决这个问题......
有关信息,我们有大约4000个客户端连接到该应用程序(运行在4个Web应用程序服务器上)。会话表似乎在任何时候都不超过3500个用户。