当使用SSL转移到mod_proxy_ajp时,tomcat停止在apache后面服务

时间:2014-10-29 01:00:03

标签: java apache tomcat ajp

我们在最近几天面临一个问题,即我们的tomcat(8.0.5)停止响应针对部署在tomcat上的servlet的Web请求,但请求来自我们在centos上的apache(2.2)上部署的网站。

在浏览了很多文档和帖子后,我们得出结论,将maxThreads(在tomcat的server.xml中)设置为与maxClients设置相同(在prefork MPM的apache httpd.conf中),即256。 但是当我在这里阅读了AJP文档时:https://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html

我开始知道它应该是tomcat" maxConnections"而不是" maxThreads"。我的同事确信它有" maxThreads"虽然我认为它应该是" maxConnections",所以有人可以澄清我们这种混乱。 顺便说一下 - maxThreads设置工作正常,因为我们应用了这个。 问候。

1 个答案:

答案 0 :(得分:2)

maxConnections表示tomcat可以建立的最大tcp连接,maxThreads表示可用于处理来自连接的请求的最大tomcat线程数。
我认为在大多数情况下,将两个数字设置为相同是个好主意,tomcat 8会将maxConnections设置为相同数量的maxThreads。
如果将maxConnections设置为大于maxThreads,则tomcat将建立比maxThreads更多的连接,因此可能没有足够数量的线程来处理连接,并且一些连接将被阻塞并等待备用线程。
对于BIO连接器,如果设置了maxThreads,则tomcat会自动更改maxConnections,对于NIO和NIO2,默认值为10000.对于APR / native,默认为8192(双重检查tomcat docs,它说的。如果更改maxConnections,则maxThreads将 NOT 相应更改。