`
itsoul
  • 浏览: 218515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

session占用内存计算

阅读更多
应用程序和会话作用域内的所有对象都将在服务器进程中占有内存。

® 应用程序作用域对象占用内存数:你产生的全局对象数*对象大小。

® 计算session作用域中占用内存的方法:

会话作用域内的对象数目取决于当前会话的数目,所以除了每个对象的大小外,你

还需要知道当前有多少个用户,以及一个会话将持续多长时间。

例:以购物车为例,购物车内有3件产品,

i) 单个用户购物车对象占用服务器内存量

3*8 8=32个字节

3件产品乘以每一件产品对象的大小,加8是因为保存产品的集合对象引

用也需要一些额外的开销

ii) 假设该网站每小时有10位用户来购物,会话默认有效期是30分钟,所以共有10个活动的用户和10个已经不再活动得到会话,总共20个会话。内存占用量:

20 * 56 =1120个字节

56个字节是每个会话所需要的字节。32 24

iii) 如果每小时2000个用户,内存占用量

4000 * 56 = 220k字节

iv) 以上计算,只是按对象引用来计算一个对象引用的大小为

8字节。如果会话中保存一些大对象,例如大的POJO,假设每个对象10KB,

那么4000个会话就占用40M内存空间(有点大噢)。

® 控制服务器内存提示:

i) 会话中知保存真正需要保存的对象

ii) 会话有效期设成比默认值短

iii) 提供一种显式地结束会话的方法,如“注销”功能,或当某件事完成后,使会话失效,可以使用HttpSession invalidate()方法,当某个会话失效时,可以使得所有的对象被回收。

注:Java中一个对象引用的大小为8字节


分享到:
评论

相关推荐

    session session session szsessdifn

    1. 性能问题:大量用户同时在线,Session占用服务器内存资源较大,可能影响性能。 2. 会话过期:默认情况下,Session会在一段时间无活动后自动销毁,需要合理设置过期时间。 3. 不能跨域共享:每个域名有自己的...

    内存优化提高计算机的运行速度

    简单地复制几个字就能释放剪贴板上的图片所占用的内存。 #### 8. 优化内存中的数据 减少驻留在内存中的数据数量有助于释放更多的内存空间。比如,减少桌面和任务栏上的快捷方式、尽量少使用后台驻留程序、不要同时...

    .net 和IIS7.5关于Session超时的设置

    请注意,`mode`属性指定了Session状态管理的模式,`InProc`表示Session数据存储在同一个应用程序实例的内存中,这可能会导致数据丢失,如果IIS回收工作进程。 2. **ASPX 文件中设置方法** 除了在`web.config`文件...

    如何降低Firefox内存占用.docx

    ### 如何降低Firefox内存占用 #### 一、理解内存占用问题及重要性 在日常使用浏览器的过程中,我们可能会遇到浏览器占用过多内存的情况,这不仅会导致电脑运行变慢,还可能引起浏览器卡顿甚至崩溃。Firefox作为一...

    Session购物车示例

    3. 性能与扩展性:Session会占用服务器内存,大量用户同时在线可能导致内存压力。在大型应用中,可能需要考虑其他存储机制,如数据库或Cookie。 五、总结 通过使用ASP.NET的Session对象,我们可以轻松实现一个简单...

    ejb分页技术解决读取数据库占用内存问题

    为此, ejb分页技术被广泛应用于Web应用中,以解决读取大数据集时占用内存的问题。分页技术允许我们只加载用户当前需要查看的数据,从而优化性能,提高用户体验。 在JSP页面中,实现分页通常采用MVC(Model-View-...

    asp.net中使用session 实现的一个购物车

    此外,虽然Session在小型应用中效果良好,但在高并发场景下可能会占用大量服务器内存,因此在大型网站中通常会结合其他技术如Cookie、数据库或者分布式缓存来管理用户状态。不过,对于初学者来说,这个"session版...

    购物车示例 session

    此外,`session`管理还需要考虑一些最佳实践,如设置适当的`session`过期时间,避免内存泄漏。过期时间太短会导致用户频繁登录,而过长则可能占用过多服务器资源。我们还可以利用会话复制或会话持久化策略来应对高...

    基于Keras 循环训练模型跑数据时内存泄漏的解决方式

    当我们在一个循环中训练多个模型时,每个模型的计算图(graph)会被保存在内存中,如果不进行清理,这些计算图会占用大量内存,导致内存泄漏。为了解决这个问题,我们可以采取以下步骤: 1. 引入所需的库: ```...

    Session购物车

    - 需要管理Session的生命周期,避免长时间未活动的Session占用资源。 - 多服务器环境下的Session同步可能成为问题,需要配置 sticky sessions 或使用共享Session存储。 **其他购物车实现方式** 除了Session,还可以...

    通过snmp的OID获取对方主机的内存利用率及CPU的使用率

    例如,内存利用率可能对应于`HOST-RESOURCES-MIB::hrMemorySize`或`UCD-SNMP-MIB::memAvailReal`等OID,而CPU使用率可能对应于`HOST-RESOURCES-MIB::hrProcessorLoad`或者`RFC1213-MIB::sysUpTime`配合计算得出。...

    Session 购物车

    另外,为了避免过多的Session占用服务器资源,可以配置适当清理策略。 在页面布局方面,"div+css"是现代网页设计的标准方式。Div元素用于定义页面的区域,而CSS(层叠样式表)则负责样式定义,包括颜色、大小、位置...

    Session详解.doc

    Session数据通常存储在服务器的内存中,可以包含用户会话的各种信息,如登录状态、购物车内容等。这种方式相对于Cookie,数据更安全,且数据量不受限制,但会占用服务器资源。 举例来说,咖啡店的优惠活动可以通过...

    PHP程序设计-3期(KC016) 3.12.2 session课后习题.doc

    合理设置Session生存时间可以避免无效Session占用过多的服务器内存,同时保证用户在合理时间内能保持登录状态。在实际开发中,还需要考虑如何处理Session过期、用户强制退出等情况,以确保系统的安全性和可用性。

    基于spring-cloud分布式session共享文档

    - Session复制过程可能会占用大量的网络带宽和计算资源; - 不适合大规模集群部署。 ##### 方案三:Spring Session + Redis - **原理**:利用Spring Session接管Session管理,并结合Redis作为集中式的Session存储...

    [电子商务].Net Session购物车示例.zip

    例如,当购物车商品数量过多时,可能会导致Session占用大量内存,这时可以考虑将购物车数据存储在数据库或分布式缓存中,以减轻服务器负担。同时,考虑到跨站请求伪造(CSRF)攻击,处理购物车操作时应确保安全性,...

    Session和Cookie区别.docx

    - **Session**:虽然Session数据保存在服务器端,减少了网络传输的压力,但是随着网站访问量的增加,服务器上存储的Session数据也会越来越多,可能会占用大量的内存资源,导致服务器性能下降。因此,在设计系统时...

    优化Windows操作系统内存的几种方法

    可以在任务管理器中查看进程列表,检查是否有占用内存过多的应用程序,并及时结束这些进程。 ##### 8. 限制内存消耗 Windows系统中运行的应用程序和服务越多,内存消耗也就越大。限制不必要的后台应用程序和服务...

    PHP程序设计-3期(KC016) 3.12.3 session课后习题.doc

    - **性能优化**:过多的Session会占用大量服务器资源,可以通过设置合适的Session超时时间、使用缓存存储Session数据以及合理控制并发用户量来提高服务器性能。 理解并熟练掌握Session机制对于PHP开发者来说至关...

    ASP.NET源码——[电子商务].Net Session购物车示例.zip

    4. **Session管理**:为了防止过多的数据存储在Session中导致内存占用过高,需要设置合理的Session过期时间。此外,还要处理用户突然关闭浏览器或取消会话的情况,确保购物车数据的安全和准确性。 在实际开发中,...

Global site tag (gtag.js) - Google Analytics