论坛首页 Java企业应用论坛

提问?如何获得tomcat的active session数量

浏览 18137 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-07-27  
1、如何获得tomcat server的active session的数量和信息?
2、这是不是统计同时在线人数的最佳方法?
   发表时间:2006-07-28  
neora 写道
1、如何获得tomcat server的active session的数量和信息?
2、这是不是统计同时在线人数的最佳方法?

我也想知道。
我觉得session数量跟同时在线人数不是一个概念,但是session数量倒是判断系统性能的一个好参考。
0 请登录后投票
   发表时间:2006-07-29  
以前的servlet规范提供了这样的统计信息。后来deprecated。
现在只能用 session listener这样的机制,来自己统计。
active session数量可以用作同时在线人数。谁知道更好的方法?
0 请登录后投票
   发表时间:2006-07-29  
neora 写道
1、如何获得tomcat server的active session的数量和信息?
2、这是不是统计同时在线人数的最佳方法?


tomcat自己的manager控制台就可以获得session的数量和信息

不是
0 请登录后投票
   发表时间:2006-07-29  
利用session listener维护自己的全局session列表(可以用HashMap之类的通用容器,放在application中),但要注意:session listener是针对所有session对象实例的,全局session列表中会有很多session(如果你全部记录下来的话),但在线人数大致上只是全局session列表中那些带有用户信息的session项。
0 请登录后投票
   发表时间:2006-07-29  
robbin 写道
neora 写道
1、如何获得tomcat server的active session的数量和信息?
2、这是不是统计同时在线人数的最佳方法?


tomcat自己的manager控制台就可以获得session的数量和信息

不是


我知道http://xxx:8080/manager/.......,可以获得,但有两个问题:一是Tomcat有没有开放这类API。二是如果不是Tomcat而是webSphere或者weblogic怎么办?有没有通用的方法?

如果计算active session不是最佳方式,那么最佳方式是什么呢?
0 请登录后投票
   发表时间:2006-07-29  
neora 写道
robbin 写道
neora 写道
1、如何获得tomcat server的active session的数量和信息?
2、这是不是统计同时在线人数的最佳方法?


tomcat自己的manager控制台就可以获得session的数量和信息

不是


我知道http://xxx:8080/manager/.......,可以获得,但有两个问题:一是Tomcat有没有开放这类API。二是如果不是Tomcat而是webSphere或者weblogic怎么办?有没有通用的方法?

如果计算active session不是最佳方式,那么最佳方式是什么呢?


没有通用的实现,每个appserver的HttpSession实现机制并不完全一样。

最佳方式就是统计用户最近X分钟有没有请求过来,没有就判断离线,有就判断在线。

我曾经遇到的某实际案例:某大型系统,每天晚上没有什么人用的时候,ative session经常在4000多。WebSphere5.1 on HP-UX11
0 请登录后投票
   发表时间:2006-09-12  
用session判断不准确的
用户关闭浏览器后sessiom还会存活一段时间(默认貌似是15分钟)
0 请登录后投票
   发表时间:2006-09-26  
http://www.water-season.com/forum/viewthread.php?tid=949

看看这个应该会有收获。
0 请登录后投票
   发表时间:2006-09-26  
不错,非常好啊!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics