7

HTTPSession 変数が保持できるデータの最大制限 (サイズ) は? これを超えるとどうなりますか?そして最も重要なのは、サイズが HTTPSession 変数が保持できる最大サイズを超えた場合に、セッション全体でデータを保持するための代替アプローチは何ですか?

4

2 に答える 2

8

サーバーのメモリ以外に制限はありません。代替手段は次のとおりです。

于 2012-07-28T07:21:15.187 に答える
0

主に、データ サイズだけでなく、多くの点を考慮する必要があるため、注意して HttpSession でデータ セッションを使用することをお勧めします。

  • 接続が安全でない場合、HttpSession がハイジャックされる可能性があります。そのため、接続が HTTPS ではない場合、HTTP に比べてハイジャックされる可能性が高くなります。
  • ウェブ上でサービスを利用すると推定されるユーザー数。世界で可能なすべてのメモリを割り当てることができますが、ソリューションがサイズ制限なしでセッションを事前に割り当てる場合、多くのユーザーが使用しているときに JVM で OutOfMemory が発生する可能性が高くなります。たとえば、8 KB に 100.000 ユーザーを掛けたセッション データは、800 MB に達する可能性があります。
  • サーバー、Websphere Application Server で構成されたセッション タイムアウトは、デフォルトで 30 分に設定されています。セッション タイムアウトを減らすと、JVM の過負荷が改善される可能性がありますが、一方で、ユーザーを非常に怒らせることができます。
  • ソリューションが多くのサーバー (クラスター) を使用する場合、考慮すべきことの 1 つは、それらの間で Http セッションを共有することです。

さらに詳しい情報については、 Ken Hygh、Ruth Willenborg、および Stacy Joines による著書 Performance Analysis for Java Web Sites の Chapter 2 - Http Sessions を読むことをお勧めします。

于 2020-07-02T19:45:19.390 に答える