I'm working on an application based on Spring/Hibernate which has approximately 4000 production users.It is using websphere 6.1 server . Recently we had a memory issue in production , and we monitored it with help of IBM support team, we saw that almost 97% of the memory (which was 1.3 GB) was used by around 2 million open sessions in memory. I admit that the session timeout is set to 6 hrs here which is not a good value. But still there is no way I could see that many sessions getting opened by just 4000 users. I tracked it from my developement instance in RAD, by just printing the session.getCreationTime() to see if we are creating many sessions in the background. But all I could see is just 1 session as long I'm in the same browser window. Any one have any idea of where I should look or atleast some suggestions would be greatly appreciated.
Thanks in advance,
Pinned topic 2 million session getting created by 4000 users
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2011-08-07T12:25:04Z at 2011-08-07T12:25:04Z by Mauri_Claudio
Mauri_Claudio 1200006HJT4 Posts
Re: 2 million session getting created by 4000 users2011-08-07T12:25:04ZThis is the accepted answer. This is the accepted answer.It's quite impossible to give you an answer without having an idea of how your application works. Of course, using long lasting sessions may increase the likelihood to run into memory problems, but, on the other hand, with final users one may be forced to set higher timeouts... Nevertheless, 2M session against 4K users it's something which does not seems to be related with session timeouts... something must create an abnormous number of spourius sessions.
I don't think that without testing tools you may reproduce your problem. Anyway, If I were you I would try and reboot my WebSphere instance, then I'd look log info from WAS embedded Tivoli Performance Viewer... for example, with that very good tool you may have a count of service request to your servlet, jsps, ejbs and so on. An Http Session as far as I know is created when user requests for a web page or calls a servlet, so you can try to understand which is the real 'request distribution' over servlet and pages. I'd think that the more hits a page gets, the higher is the likelihood that the page is responsible for creating phantom sessions.
Hope this may help.