7

我们有一个相当大的基于 Web 的解决方案,它在 .Net 4.5 上运行。最近,当我们检查系统似乎在任何给定时间(每个客户端)只服务一个请求的性能问题时,我们了解到导致该问题的原因是会话状态。通过将 EnableSessionState 属性更改为 ReadOnly,可以同时处理多个请求并显着提高性能。

我们认为我们可能会遇到各种问题,因为我们在系统中的许多事情都依赖会话状态,但到目前为止,我们还没有真正产生任何负面影响。登录按预期工作,我们在会话状态中存储的所有内容似乎也正常工作。

这就引出了一个问题……为什么这不是默认行为?有没有我们还没有经历过的明显的不良副作用?

4

2 回答 2

6

还是只有 62 次观看?

好吧,我们现在已经运行了大约 7 个月,没有任何不良副作用,只是大大提高了性能。所以我的问题的答案是“我不知道也不知道”。

前进 :-)

于 2014-06-15T10:54:42.333 回答
0

最近确实将会话设置为只读并且它最初确实加快了页面响应性能,我们确实注意到任何长时间运行的帖子,例如来自另一个会话的长报告会占用整个站点的资源,锁定每个人。我们的解决方案是将任何繁重的报告流程卸载到报告引擎的队列中,让网络专注于页面。

但是,将会话设置为完整时,它可以更好地将 CPU 周期分配给每个会话,并首当其冲地承受其他繁重的会话。这是我们的观察。

于 2017-08-29T13:13:30.770 回答