【发布时间】:2012-11-12 00:21:36
【问题描述】:
当我检查我的Tomcat 应用程序管理器时,我发现我有太多会话(超过 4600 个):
为什么会这样?这可以链接到已部署的应用程序还是它已经运行了很长时间?
【问题讨论】:
当我检查我的Tomcat 应用程序管理器时,我发现我有太多会话(超过 4600 个):
为什么会这样?这可以链接到已部署的应用程序还是它已经运行了很长时间?
【问题讨论】:
这可能有多种原因,其中一些比其他的更奇特。其中一些:
您查看过这些会话的列表吗?他们有相似的空闲时间吗?哪些页面被点击? HTTP 日志说明了什么? (谷歌)分析?
应用已长时间在线这一事实与会话数无关。 Tomcat 会定期使这些会话失效。
为了获得最精确的答案,请进行内存转储并使用分析器对其进行分析。
【讨论】:
you have some sort of monitoring enabled which is done via HTTP and the sessions are not discarded 这是最可能的原因,因为我使用comet 服务进行推送通知.. 我是否需要以编程方式删除会话,或者正如你所建议的那样,Tomcat 用完了内存和会话无效?
session.invalidate(),或者如果您因任何原因无法执行此操作,请添加一个过滤器来执行此操作。跨度>
/、/host-manager 和 /manager 上下文路径),但我仍然有 6000 多个会话(并且还在增加)。所以这不是应用问题。会话没有属性,每个会话有 30 分钟超时。