【发布时间】:2009-10-05 07:37:30
【问题描述】:
我想估计我的 ASP.NET Web 应用程序中服务器上每个会话使用的内存量。几个关键问题:
- 为每个 Session 实例分配了多少内存?
- 每个变量的内存使用量是否等于其给定的地址空间(例如 Int32 的 32 位)?
- 具有可变地址空间的变量(例如 String、Array[]s)呢?
- 自定义对象实例(例如保存各种其他东西的 MyCustomObject)呢?
- 是否为每个变量添加了任何内容(例如,将 Int32 变量的地址绑定到会话实例)增加了每个变量的开销?
希望能帮助我弄清楚如何准确预测每个会话将消耗多少内存。谢谢!
【问题讨论】:
-
您是否已经构建了应用程序,或者只是打算使用会话状态?为什么是会话状态?有更好的技术可供考虑。
-
如果我需要跟踪状态怎么办?客户端?
-
我会使用缓存,它更灵活。
-
缓存是不稳定的,不受用户限制。
-
将用户ID添加到密钥或其他方式是否有问题?
标签: c# asp.net session memory-management