Tomcat 和 nginx 大小调整

Tomcat 和 nginx 大小调整

我管理一个部署在 Tomcat 服务器上的应用程序,前端使用 nginx 作为反向代理。我需要一些关于线程池/连接池大小的帮助...我发现很多文档描述了不同的参数(Tomcat 执行程序、nginx 工作程序、keepalive 等),但没有多少文档解释如何找到正确的大小。我不确定我是否正确理解了文档。

例如,我在 nginx 监控图中看到,大约有 350 个活动连接、30 个写入连接和 320 个等待连接。每秒大约有 30 个请求。

我在 Tomcat 服务器上配置了 200 个线程来处理 HTTP 处理。

我在 nginx 上有 1 个工作进程和 1024 个工作连接。

据我从文档中了解,等待的连接是 HTTP1.1 keepalive。但我还知道 nginx 只将 HTTP1.0 作为代理。我有点困惑。这些等待的连接是否消耗了 Tomcat 线程而什么都不做?

您是否知道有关调整 Tomcat/nginx(或其他反向代理,概念应该相同)大小的良好资源。

感谢您的帮助!

答案1

nginx 上有 1 个工作进程,有 1024 个工作连接。

因此,您无法处理超过 1*1024 个连接,并且 nginx 无法使用超过 1 个处理器核心。

但我也了解nginx只做HTTP1.0的代理。

错了。参见:http://nginx.org/r/proxy_http_version

那些等待的连接是否消耗了 Tomcat 线程却什么都不做

不是。它是与客户端的保持连接。它也可能包括与后端的保持连接,但不会超过您通过指令设置的值keepalive(http://nginx.org/r/keepalive)。

相关内容