tomcat-connector配置

Connector配置

Connector简介

Conf/server.xml配置文件中Connector配置定义了tomcat的链接的信息等。如下:

<Connector port="8080"protocol="HTTP/1.1"

              connectionTimeout="20000"

               redirectPort="8443"/>

Http请求的处理端口默认为8080,当一个服务器中启动多个tomcat的时候会出现端口被占用的情况,那么这个端口就是要修改的其中一个。Http请求默认使用了HTTP/1.1协议处理,当然tomcat8.5以上版本都支持了最新的HTTP/2.0协议。

那么如果使用了HTTP/1.1协议,tomcat会自动检测当前服务器是否安装了APR。如果安装了,那么将使用APR处理HTTP请求(就是使用Http11AprProtocol类),否则使用NIO(tomcat7以及之前使用BIO)。当然,既然指定protocol属性为HTTP/1.1tomcat会检测使用对应的类来处理请求,那么我们也是可以直接指定请求处理类,不用tomcat去检测的。

<Connector port="8080"protocol="org.apache.coyote.http11.Http11NioProtocol"

              connectionTimeout="20000"

               redirectPort="8443"/>

Connector其他属性介绍

MaxThreads

Tomcat是一款多线程Servlet容器,每个请求都会分配一个线程处理。那么maxThreads属性用于指定Connector创建的请求处理线程最大数目,如果请求超过该值,那么就需求等待。但是如果无限增大,会导致系统资源被占用严重,大大降低性能。

maxSpareThreads

tomcat允许的空闲线程的最大数目,如果空闲线程超过了该数量,将被回收。默认为50.

minSpareThreads

tomcat允许的空闲线程的最小数目,默认为4.

tcpNoDelay

如果为true,会启用Socket的TCP_NO_DELAY选项。将通过降低发送包的数量来提高网络效率,就是将小包集合为大包一次发送给客户端。

maxKeepAliveRequest

用于控制HTTP请求的“keep-alive”行为,用于启动持续链接。该属性指定HTTP链接在被服务器关闭之前处理的请求最大数目。Tomcat默认值为100,如果设置为1表示禁用该特性。因此,该属性会提升单个客户端的请求效率,尤其当一个Web包含多个HTTP请求时候,减少了新建链接的开销。但是会影响整体的吞吐量(如果链接持续时间过长,使得服务器达到最大链接数,其它请求只能排队等待)。

socketBuffer

指定Socket输出缓冲的大小,单位为字节。

enableLookups

设置为false,会禁用reqeust.getRemoteHost()方法的DNS查询,可以提示响应性能。

猜你喜欢

转载自blog.csdn.net/sinat_32366329/article/details/80300963