【问题标题】:ASP.NET Session State Service in Sql Server but w3wp.exe #private increasingSql Server 中的 ASP.NET 会话状态服务,但 w3wp.exe #private 增加
【发布时间】:2010-01-22 11:25:45
【问题描述】:

我最近将我们的 ASP.NET 会话状态从 InProc 转移到了 Sql Server 解决方案。我可以看到会话数据被插入到 Sql Server 数据库中。我正在使用“Private bytes”和“# Bytes in all heaps”性能计数器监控 w3wp.exe 进程。

当我浏览网站时,它会将数据放入会话中,但是私有字节计数器仍然会在托管网站的服务器上攀升?我认为会话数据正在写入数据库而不是存储在内存中?托管字节保持不变,我很确定进入会话的所有对象都是托管类型。

有谁知道为什么私有字节仍然会增加?

【问题讨论】:

    标签: asp.net database memory session-state w3wp


    【解决方案1】:

    Session 只是 ASP.Net 网站所需的众多对象之一。您已将会话存储从 RAM 中移到 SQL 中,但还需要许多其他对象,更不用说呈现的页面本身了。

    【讨论】:

    • 感谢您的回复。然而,内存消耗似乎与我仍然有会话对象 inproc 时几乎相同。我知道的对象相当大(我知道的不好的做法)正在插入会话中。我会不会看到内存使用量有所减少?
    • 那些对象会话对象在某些时候必须在 RAM 中。您不会注意到该进程的内存使用量下降,因为除非系统需要内存,否则该进程不会释放内存。这样,可以重新使用未使用但保留的内存,而无需重新分配。这是一种优化策略。
    猜你喜欢
    • 2010-12-21
    • 2014-09-17
    • 2019-10-28
    • 2012-12-11
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    相关资源
    最近更新 更多