tomcat基于NIO、NIO2、APR的http链接器支持的属性

基于NIO、NIO2、APR的http链接器支持的属性

属性 描述 默认值
acceptCount 当所有请求处理线程均被占用,等待请求队列的最大长度。当队列填满时,接收到的任何请求均会被拒绝 100
acceptorThreadCount 接收连接的线程数。对于多核服务器或者当前存在过多的非keep-alive状态的连接时,可以增大该值 1
acceptorThreadPriority 接收线程的优先级,默认5 5
address  当服务器存在多个IP地址,该属性指定监听端口的具体IP地址,默认情况下,服务器上所有IP地址的指定端口均会监听  
allowedTrailerHeader  默认处理块输入时,tomcat会忽略所有的trailer头,如果需要处理,需要将消息头添加到该属性,多个值以逗号分隔  
bindOnInit

用于控制当前链接器使用的Socket时绑定。默认情况下,socket在connector初始化时绑定,connector销毁时取消绑定

如果为false,socket在connector启动时绑定,销毁时取消绑定

true
compressableMimeType 设置可以压缩的MIME类型,以逗号分隔

text/html

text/xml

text/plain

compression

Connector可以用HTTP/1.1 GZIP压缩来节省带宽,该参数可以接受值:(1)off,关闭压缩(2)on,启用压缩,压缩文本数据(3)force,强制启用压缩  其中,非0值表示on

如果链接器支持sendfile,如NIO链接器,与压缩相比,将优先使用sendfile。大于48Kb的静态文件将以非压缩的方式发送。

可以通过设置链接器的useSendfile来禁用此特征。也可以在conf/web.xml或web应用的web.xml文件中更改DefaultServlet的sendfile使用阈值

 

off
compressionMinSize 如果使用压缩,指定输出数据压缩前的最小数据量,超过该值,才会进行压缩 2048
connectionLinger Connector使用的Socket关闭时的延迟时间,默认-1,禁用关闭延迟 -1
connectionTimeout

Connector接收到连接请求的等待超时时间,单位ms,-1表示不超时

对于http链接器,默认60000,但是tomcat的server.xml文件中设置的值为20000。除非disableUploadTimeout设置为false,此属性也用于控制读取请求体

对于AJP链接器,默认-1

 
connectionUploadTimeout 数据上传的超时时间,单位ms,只有当disableUploadTimeout设置为false时生效。  
disableUploadTimeout 允许Servlet容器使用长连接进行数据上传,不指定时,该属性为true,表示使用短连接 true
executor

Executor引用名称,如果设置了该属性,且该属性值对应一个有效Executor,链接器将使用此Executor,其他所有线程属性将忽略。

注意,如果没有为Connector指定共享的Executor,那么Connector将使用一个私有的、内部Executor提供线程池

 
executorTerminationTimeoutMillis 停止Connector是,私有内部线程池等待请求处理线程中断时间  
keepAliveTimeout 关闭连接前,Connector等待下一个HTTP/AJP连接请求的时间,单位ms。默认值与connectionTimeout值一致,-1表示不超时  
maxConnections

服务器接收并处理的最大连接数。到达该值后,服务接收但是不处理更多请求。额外的请求会被阻塞,直到连接数低于该值。

注意,一旦达到该值,服务器仍然接收请求,接收数由acceptCount控制

BIO默认同maxThreads,如果使用了Executor,则使用Executor的属性。

NIO默认10000,APR默认8192。

注意:在windows下,APR≤maxConnections的1024倍,设置-1表示不限制

 
maxCookieCount 一个请求允许的最大cookie数量,小于0表示不限制 200
maxExtensionSize 在Chunked HTTP请求中,chunk-extension的总长度限制。负数表示不限制 8192
maxHttpHeaderSize 请求和响应中HTTP头的最大字节数 8192
maxKeepAliveRequests 连接关闭前,可以在管道中传输的HTTP请求最大数。设置1表示禁用HTTP/1.0 keep-alive、HTTP/1.1 keep-alive和pipelining 100
maxSwallowSize 对于已终止的上传,tomcat吞咽的请求体最大字节数(不包括转码开销)。已终止上传为tomcat知道请求体将被忽略但客户端依然继续发送。如果tomcat不吞咽请求体,那么客户端不会
收到响应,负值表示不限制
2097152
(2M)
maxThreads Connector请求处理的最大线程数。这决定了可以同时处理的请求最大数。如果Connector使用了Executor,由Executor中的设置决定 200
maxTrailerSize 对于chunked HTTP请求,最后一个Chunk中,尾部头信息的总长度限制,-1表示不限制 8192
minSpareThreads 一直保持运行的最小线程数 10
 noCompressionUserAgents  该属性为正则表达式,对于user-agent头信息匹配的HTTP请求将不进行压缩,即使HTTP请求的客户端支持压缩。默认空白字符,表示禁用正则表达式 空白字符

processorCache

(高并发使用-1或者较大值)

协议处理器缓存Processor对象来提升性能。该属性决定可以缓存的Processor对象数。

-1表示不限制,默认值200。如果不适用Servlet 3.0异步处理,该值最好和maxThreads相同。否则该值最好使用maxThreads和真正的请求并发数两者较大的

200

restrictedUserAgent

该属性为正则表达式,对于匹配的user-agent请求将不使用HTTP的Keep-Alive功能。即使HTTP请求的客户端支持压缩。默认空白字符,表示禁用正则表达式

空白字符

server 

覆盖HTTP响应的Server头信息。如果设置了,那么将会覆盖tomcat默认以及web应用设置的Server头信息,如果不设置,将使用应用设置的值。如果应用也没设置,使用Apache-Coyoto/1.1

 

serverRemoveAppProvideValue

如果为true,由web应用设置的任何"Server"HTTP头都会被移出

false

SSLEnabled

当前Connector是否启用SSL通信。true表示打开,默认为false。

当设置为true时,需要设置schema和secure属性,保证在调用request.getSchema和request.isSecure方法时,能将正确的值传给Servlet

false
tcpNoDelay 设置为true时,会提升系统性能 true

threadPriority

JVM中请求处理线程的优先级

5
上一篇:Oracle :value too large for column "SCHEMA"."TABLE"."COLUMN" (actual:


下一篇:自动管线翻弯