我有一个Apache(2.4)服务器,该服务器通过Tomcat 7服务器上的AJP连接器提供内容。
我的一个客户端在与JSP JSON Api服务运行太多并发连接后设法杀死了tomcat实例。 (Apache仍然有效,但是tomcat失败了。重新启动Tomcat使其恢复)。tomcats日志中没有错误。
我想保护网站免于那样倒塌,但是我不确定要更改哪些配置。
我不想限制并发连接的数量,因为有合法的用例,
我的Tomcat内存设置为:
初始内存池:1280MB
最大内存池:2560MB
我以为很多。
值得一提的是,API服务依赖于多个可能很重的MySQL连接。
任何建议将不胜感激。
答案 0 :(得分:1)
为什么不慢慢将最常用/最重要的应用程序功能切换到microservices
体系结构和dockerize
您的tomcat服务器,以便能够管理您的应用程序的多个实例。希望这将有助于您的应用程序管理多个连接,而不会影响工作中服务器的整体性能。
答案 1 :(得分:0)
如果您要讨论扩展,则需要对多台tomcat服务器进行水平扩展。
如果您不能限制用户连接并且仍然希望应用程序运行平稳,则需要扩展。可以选择对微服务进行体系结构更改,但对于生产解决方案而言可能并非总是可能的。
最好考虑的是运行多个要分担负载的tomcat。有多种方法可以做到这一点。在您的技术堆栈中,我认为将Apache 2负载平衡器插件与Tomcat结合使用效果最佳。
有一个example here。
现在,关于服务器容量,数据库连接容量等,您可能还需要考虑垂直扩展。