基于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 |