待甚至超时放弃,所以我们需要提高这方面的处理能力。
修改这部分配置需要修改 TOMCAT_HOME/conf/server.xml,打开 server.xml 找到 Connector
标签项,默认配置如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
其中 port 代表服务接口;protocol 代表协议类型;connectionTimeout 代表连接超时时间,
单位为毫秒;redirectPort 代表安全通信(https)转发端口,一般配置成 443。
可以看到除了这几个基本配置外并无特殊功能,所以我们需要对 Connector 进行扩展。
参考 Tomcat 官方网站(https://tomcat.apache.org/tomcat-8.0-doc/config/http.html),非常
多,所以本文就只介绍些常用的。
我们将 Connector 配置修改为如下:
<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:协议类型,可选类型有四种,分别为 BIO(阻塞型 IO),NIO,NIO2 和 APR。
(1)BIO:BIO(Blocking I/O),顾名思义,即阻塞式 I/O 操作,表示 Tomcat 使用的是传统的 Java
I/O 操作(即 java.io 包及其子包)。Tomcat 在默认情况下,是以 bio 模式运行的。遗憾的是,
就一般而言,bio 模式是三种运行模式中性能最低的一种。BIO 配置采用默认即可
(2)NIO:NIO(New I/O),是 Java SE 1.4 及后续版本提供的一种新的 I/O 操作方式(即 java.nio
包及其子包)。Java nio 是一个基于缓冲区、并能提供非阻塞 I/O 操作的 java API,因此 nio 也
被看成是 non-blocking I/O 的缩写。它拥有比传统 I/O 操作(bio)更好的并发运行性能。要让
Tomcat 以 nio 模式来运行也比较简单,我们只需要 protocol 类型修改为
//NIO