【问题标题】:Big number of http sessions in grailsgrails中的大量http会话
【发布时间】:2014-07-19 21:20:33
【问题描述】:

我在 tomcat7 和 Linux 服务器上运行 grails 2.2.4 应用程序。我在 JavaMelody 监控(插件)中看到打开了 1000 多个 http 会话,而只有大约 10 个用户登录。此外,所有未连接到用户的会话(如果是,我可以看到用户名)的可序列化大小为 1.607b (用户会话有 -1b)。

我很好奇这是否有问题 - 我还有其他应用程序,大小非常相似,在同一台服务器上运行,有超过 200 个用户和大约 200 个会话 - 如果有,我该怎么做解决这个问题或找到原因。

任何帮助将不胜感激。

【问题讨论】:

    标签: grails tomcat7 java-melody


    【解决方案1】:

    嗯,你是不是用了太多的闪光灯?

    只要您使用 flash 作用域,Grails 就会创建一个 HTTP 会话。该会话的生命周期取决于 web.xml 中的配置,但默认为 30 分钟。

    如您所见,如果很多人同时(或在半小时窗口内)访问启用 Flash 的页面,您的应用程序最终会出现大量活动会话。

    一个“修复”是通过编辑 web.xml 将会话超时减少到更低

    <session-config>
        <!-- 1 minute timeout for benchmarking -->
        <session-timeout>1</session-timeout> 
    </session-config>
    

    如果您希望用户登录而不是每分钟都登录,这并不理想!在这种情况下,您应该避免在不需要登录用户的页面中使用 Flash。

    来源:http://grails.github.io/grails-howtos/en/performanceTuning.html

    【讨论】:

    • 感谢您的提示和良好的链接,但我认为情况并非如此 - 正如我所说,我的其他几乎相同的应用程序不会产生这些问题。
    • 我有同样的问题,我开始怀疑这些会话是由 java melody 本身创建的。有些东西每秒创建大约 2 个会话,并最终达到如此多的会话,用户无法再登录......我会尝试对此进行测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    相关资源
    最近更新 更多