【问题标题】:HTTPSession variable limitHTTPSession 变量限制
【发布时间】:2012-07-26 19:07:19
【问题描述】:

HTTPSession 变量可以容纳的数据的最大限制(即大小)是多少?如果超过了会发生什么?最重要的是,如果大小超过 HTTPSession 变量可以容纳的最大大小,那么在整个会话中保存数据的替代方法是什么?

【问题讨论】:

  • 如果您决定这样做并且曾经遇到需要将应用程序扩展到多台服务器的情况,您可能会遇到负载平衡的巨大问题,因为服务器之间的会话传输会产生严重的开销。 ..

标签: jsp session servlets session-variables httpsession


【解决方案1】:

有一个很好的建议是谨慎使用HttpSession上的数据会话,主要是因为必须考虑很多点,而不仅仅涉及数据大小。

  • 如果连接不安全,HttpSession 可能会被劫持。因此,如果连接不是通过 HTTPS,则与 HTTP 相比,被劫持的机会更高。
  • 估计在网络上使用该服务的用户数。您可以分配世界上所有可能的内存,但如果解决方案是预先分配一个没有任何大小限制的会话,那么当许多用户使用时,JVM 中出现 OutOfMemory 的可能性很高。例如:8 KB 的会话数据乘以 100.000 个用户可以达到 800 MB。
  • 服务器中配置的会话超时,Websphere Application Server默认设置为30分钟。如果会话超时时间减少,它可能有助于 JVM 过载,但另一方面也会让用户非常愤怒。
  • 如果解决方案使用许多服务器(集群),需要考虑的一件事是它们之间的共享 Http 会话。

更多信息,我建议您阅读 Ken Hygh、Ruth Willenborg 和 Stacy Joines 所著Java 网站性能分析一书的第 2 章 - Http 会话

【讨论】:

    【解决方案2】:

    没有限制,除了你的服务器的内存。替代品是

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-23
      • 2011-06-04
      • 2019-02-17
      • 1970-01-01
      • 1970-01-01
      • 2019-12-14
      • 2021-08-07
      • 2010-12-30
      相关资源
      最近更新 更多