蔷薇525 发表于 2017-5-25 11:28:46

IBM 大型Servlet编程模型 策略 思考

HttpSession的每一次使用都是第三层关系型数据库上的一个事务。事务是在HttpServletRequest.getSession()方法被调用时开始的。事务在 servlet 的service()方法结束时终止,或当在 WebSphere 中实现HttpSession的类上调用sync()方法时终止。  存储的压力多大. 内存数据库也许比较合适,相对来讲,数据的生命周期 绑定在session上,数据量不会很大,但是很频繁.
  在线用户100万人/小时*1M =100M    当然也可以更小 100K 这个已经是cookies的25倍了
  2000万人/天*1M = 2G       缩小后 200M
  每秒 用户数约 300人
  在线用户操作   300人/秒*100次= 30000次/秒 读写数据库  =30次/毫秒 读写数据库
  到底读写一次数据库需要多少毫秒了?而且还是要支持事物的,放宽点要求不支持事物客户也能忍受,丢掉了在加好了,毕竟session也并不一定能保证不丢失数据呵呵.
  关键的问题:1.一次读写数据时间
  2.丢失率
  3.100并发下的排队平均时间
  图 2. 共享的HttpSessions在 WebSphere 中工作。


原文: http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0011_brown/
这里只讨论WebSphere 的策略 其它讨论请另开贴讨论
页: [1]
查看完整版本: IBM 大型Servlet编程模型 策略 思考