一、Connector 基本参数
参数 | 描述 |
port | 端口号,tomcat默认端口号是8080 |
address | 配置Connector在监听网络请求时监听在哪一个地址上。如果不配置的话,默认会在所有的IP上监听。 |
protocol | 默认HTTP1.1 |
connectionTimeOut | 客户端连接超时时间,单位是毫秒。客户端建立好连接后,不发送请求,是会耗费服务器资源的,因为服务器分配了线程在这里对请求进行处理。所以当连接超时时,服务器端中断连接。 |
acceptCount | 配置排队长度,默认排队的长度是100,如果超过100,其余的请求就会被拒接 |
maxConnections | Connector同时支持的最大连接数 |
二、修改Connector的参数配置
打开tomcat的conf目录下的server.xml 文件
默认的Connector配置
<Connector port="8080" protocol="HTTP/1.1" //端口号8080,协议是HTTP/1.1
connectionTimeout="20000" //连接超时是20s
redirectPort="8443" /> //rediectPort是HTTPS的端口
可以对Connector的默认参数进行修改
<Service name="Catalina">
<Executor name="myThreadPool" namePrefix="catalina-exec"
maxThreads="150"minSpareThreads="10"/>
<Connector port="8181" protocol="HTTP/1.1"
connectionTimeout = "200000"
executor = "myThreadPool"
redirectpot="8443"
URIEncoding="UTF-8"/>
</Service>
三、线程池
首先为什么要使用线程池?线程的创建和销毁都是比较耗时的,如果来一个请求就创建一个线程,请求完成了响应再把线程销毁,这样对系统的性能损坏比较大。所以一般事先创建一定数量的线程,用完之后放回池里,减少由于线程创建及销毁带来的多余开销。
- 线程池配置项 <Executor>
- minSpareThreads 最小空闲线程数
- maxThreads 最大线程数