【问题标题】:Tomcat via Apache Server going down after too many connections连接过多后,通过 Apache 服务器的 Tomcat 关闭
【发布时间】:2019-11-04 20:44:19
【问题描述】:

我有一个 Apache (2.4) 服务器,它通过 Tomcat 7 服务器上的 AJP 连接器提供内容。

我的一个客户在运行太多与 JSP JSON Api 服务的并发连接后设法终止了 tomcat 实例。 (Apache 仍然可以工作,但 tomcat 倒下了。重新启动 Tomcat 使其恢复正常)tomcats 日志中没有错误。

我想保护网站不至于像那样翻倒,但我不确定要更改哪些配置。

我不想限制并发连接的数量,因为有合法的用例,

我的 Tomcat 内存设置是:
初始内存池:1280MB
最大内存池:2560MB
我认为这已经足够了。

值得一提的是,API 服务依赖于多个可能很重的 MySQL 连接。

任何建议将不胜感激。

【问题讨论】:

    标签: apache2 tomcat7 ddos ajp


    【解决方案1】:

    您为什么不慢慢将您最常用/最重要的应用程序功能切换到microservices 架构和dockerize 您的tomcat 服务器,以便能够管理您的应用程序的多个实例。这有望帮助您的应用程序管理多个连接,而不会影响工作中服务器的整体性能。

    【讨论】:

      【解决方案2】:

      如果你说的是缩放,你需要用多个tomcat服务器做水平缩放。

      如果您不能限制用户连接并且仍然希望应用程序运行顺畅,那么您需要进行扩展。对微服务进行架构更改是一种选择,但对于生产解决方案可能并不总是可行。

      最好的办法是运行多个 tomcat 共享负载。有多种方法可以做到这一点。使用您的技术堆栈,我觉得 Apache 2 负载平衡器插件与 Tomcat 结合使用会做得最好。

      有一个example here

      现在,关于服务器容量、数据库连接容量等,您可能还需要考虑垂直扩展。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-16
        • 2017-12-06
        • 2021-11-01
        • 1970-01-01
        相关资源
        最近更新 更多