导读 | Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Servlet容器)来处理这个请求,并把产生的Request和Response对象传给Engine。当Engine处理完请求后,也会通过Connector将响应返回给客户端。 可以说,Servlet容器处理请求,是需要Connector进行调度和控制的,Connector是Tomcat处理请求的主干,因此Connector的配置和使用对Tomcat的性能有着重要的影响。 |
默认参数
注: Connector 通常在%HOME_TOMCAT%/conf/servser.xml 文件内
# 正常参数 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
配置参数调试
# 优化参数 <Connector port="8080" protocol="HTTP/1.1" maxThreads="1000" minSpareThreads="100" acceptCount="1000" maxConnections="1000" connectionTimeout="20000" maxHttpHeaderSize="8192" tcpNoDelay="true" compression="on" compressionMinSize="2048" disableUploadTimeout="true" redirectPort="8443" enableLookups="false" URIEncoding="UTF-8" />
参数详解
- 1)port
- 注:代表Tomcat端口号,默认8080。
- 2)protocol
- 注:协议类型,可选类型有4种,BIO(阻塞型IO),NIO,NIO2和APR。
- 3)maxThreads
- 注:连接器创建处理请求线程的最大数目,处理同事请求的最大数目,默认值为200。
- 4)minSpareThreads
- 注:线程的最小运行数目,这些始终保持运行。如果未指定,默认值为10。
- 5)acceptCount
- 注:最大队列长度。一般与maxThreads相同,默认为100。
- 6)maxConnections
- 注:在任何给定的时间内,服务器将接受和处理的最大连接数。当这个数字已经达到时,服务器将接受但不处理,等待进一步连接。NIO与NIO2的默认值为10000,APR默认值为8192。
- 7)connectionTimeout
- 注:当请求已经被接受,但未被处理,也就是等待中的超时时间。单位为毫秒,默认值为60000。通常情况下设置为30000。
- 8)maxHttpHeaderSize
- 注:请求和响应的HTTP头的最大大小,以字节为单位指定。如果没有指定,这个属性被设置为8192(8 KB)。
- 9)tcpNoDelay
- 注:如果为true,服务器socket会设置TCP_NO_DELAY选项,在大多数情况下可以提高性能。缺省情况下设为true。
- 10)compression
- 注:是否启用gzip压缩,默认为关闭状态。这个参数的可接受值为“off”(不使用压缩),“on”(压缩文本数据),“force”(在所有的情况下强制压缩)。
- 11)compressionMinSize
- 注:如果compression=”on”,则启用此项。被压缩前数据的最小值,也就是超过这个值后才被压缩。如果没有指定,这个属性默认为“2048”(2K),单位为byte。
- 12)disableUploadTimeout
- 注:这个标志允许servlet Container在一个servlet执行的时候,使用一个不同的,更长的连接超时。最终的结果是给servlet更长的时间以便完成其执行,或者在数据上传的时候更长的超时时间。如果没有指定,设为false。
- 13)enableLookups
- 注:关闭DNS反向查询。
- 14)URIEncoding
- 注:URL编码字符集。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/121114.html