こういう現象が起こっています。
Eclipseで開発したsystemというパッケージをTomcat上で展開しました。
そこで、多数のログインができるかどうかをテストしているところです。
状況を調べるために、ブラウザでmanagerを立ち上げました。
まず、これは誰もアクセスしていない状態での画面です。セッションが1つもないのがわかります。
次に、30人ぐらい時間差をおいて連続ログインさせるテストを行いました。全員、異なるID、異なるブラウザです。まず、6人がログインに成功してセッションが生成されています。セッションがあるということをわかりやすくするために、Guessed User NameにID名を格納させています。
何人かのログインが続くと、セッションが消失してしまう人がいることがわかりました。わかりやすくするため、ソートして一番上に消失した3名を持ってきています。Guessed User NameからID名が消えてしまっており、該当ブラウザでもエラー画面が出ていました。
更に多くの人をログインさせても、このようなセッションが消えないようにするためには、どのような方法が考えられますか?
ちなみに、情報が少ないかもしれませんので、下記も付記いたします。
・セッションが消えるのは、ログインしたタイミング(MySQLデータベースから会員情報を取ってきてセッションに入れるランタイムの中で)
・セッションが消えるのは、ログインした人ではなく、すでにログインしている人のいずれかから(ほとんどランダム)
・セッションが消えるのは、一名のこともあれば、いっぺんに2~5名のこともある。
・ログイン後は、どのような操作を行っても、他人のセッションが消えることは今のところ確認されていない。
・無理をすれば(繰り返しログインさせたりすれば)、100名ぐらい同時にログインさせることは成功している。
・NullPointerExceptionが多発していたので、他の会員のセッションの中のデータがnullになっていると考えられる。
プログラムの問題、Tomcatの設定ファイルの問題など、思いつく原因がありましたら何でもご教示いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー