ASP.NET"会话超时"计数器(perfmon.exe)

Joh*_*ny5 6 c# memory asp.net session-state

我目前正在加载测试ASP.NET应用程序.我在应用程序上向500个用户收费,当它正在运行时,我在perfmon.exe控制台中检查Web服务器上的"Sessions Actives"和"Sessions Timed Out"计数器.

在我的web.config中,会话超时为3分钟(出于测试目的).

因此,当测试进行时,"Sessions Actives"计数器会保留大约900个活动会话,我认为这是正常的,因为有500个活跃用户和大约400个其他会话尚未超时的人.

但是当我看到"Session Timed Out"计数器时,它会逐渐增加.当负载测试完成时,它会逐渐下降.

这柜台究竟是什么?根据我的理解,它是尚未被清理的废弃会话(由垃圾收集器?)并且仍在使用内存.

由于我们的应用程序使用了大量的内存,我试图找到那个内存的确切位置.

小智 1

计数器似乎表明正在发生什么。即,当活动会话启动时,活动计数器会转到正确的数字。在某个时刻,它们开始减少,并触发会话超时增加(即,会话被 ASP 立即取消) .NET 基础设施)。我不确定您期望看到什么。我建议阅读《Improving .NET Application Performance and Scalability》一15、1617。他们在这方面很有启发性。