我们有一个相当大的基于网络的解决方案,运行在.Net 4.5上。最近,当我们检查性能问题时,系统似乎只在任何给定时间(每个客户端)提供一个请求,我们了解到原因是会话状态。通过将EnableSessionState属性更改为ReadOnly,可以同时提供多个请求,并显着提高性能。
我们认为可能会遇到各种各样的问题,因为我们依赖会话状态来处理系统中的许多事情,但到目前为止我们根本没有任何负面的副作用。登录按预期工作,我们在会话状态中存储的所有内容似乎也正常工作。
这引出了一个问题......为什么这不是默认行为?我们还没有经历过这种明显的不良副作用吗?
答案 0 :(得分:5)
仍然只有62次观看?
我们现在已经运行了大约7个月没有不良副作用,只是大大提高了性能。所以我的问题的答案是"我不知道也没有#34;。
继续: - )
答案 1 :(得分:0)
最近确实设置了Readonly的会话,它最初加快了页面响应性能,我们注意到任何长时间运行的帖子,如来自另一个会话的长报告,都会占用整个站点的资源,锁定所有人。我们的解决方案是将任何繁重的报告流程卸载到报告引擎的队列中,让网络专注于页面。
然而,当会话设置为full时,它可以更好地为每个会话分配CPU周期,并承受其他繁重会话的冲击。这是我们的观察。