在Tomcat server.xml中,maxThreads与maxConnections是什么
我知道maxConnections是打开服务器的连接数量
maxThreads是请求处理线程的最大数量
但是两个配置参数如何协同工作,显然你不会将maxConnections设置为1000,将maxThreads设置为10
两个配置参数之间有什么关系?
<Connector
port="8443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="250"
SSLEnabled="true"
scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"
connectiontimeout="20000"
/>
Run Code Online (Sandbox Code Playgroud)
Tim*_*per 95
Tomcat可以在两种模式下工作:
Tomcat 7 默认是BIO,虽然共识似乎是"不要使用Bio,因为Nio在各方面都更好".您可以使用文件中的protocol
参数进行设置server.xml
.
HTTP/1.1
或org.apache.coyote.http11.Http11Protocol
org.apache.coyote.http11.Http11NioProtocol
如果您正在使用BIO,那么我相信它们应该或多或少相同.
如果您正在使用NIO,那么实际上"maxConnections = 1000"和"maxThreads = 10"甚至可能是合理的.默认值为maxConnections = 10,000和maxThreads = 200.使用NIO,每个线程可以提供任意数量的连接,来回切换但保留连接,因此您不需要进行所有通常的握手,这对于HTTPS来说尤其耗时,但即使是HTTP问题也是如此.您可以调整"keepAlive"参数以保持连接的时间更长,这样可以加速所有操作.
从Tomcat文档开始,对于阻塞I / O(BIO),默认值为,除非使用了Executor(线程池)maxConnections
,maxThreads
否则将使用Executor的'maxThreads'值。对于非阻塞IO,它似乎并不依赖。maxThreads
归档时间: |
|
查看次数: |
96017 次 |
最近记录: |