配置 server.xml 文件当中的
- BIO protocol=“org.apache.coyote.http11.Http11Protocol“
该模式下每个请求都会创建一个线程,对性能开销大,不适合高并发场景。
- NIO protocol=”org.apache.coyote.http11.Http11NioProtocol“
该模式基于多路复用选择器监测连接状态在同步通知线程处理,从而达到非阻塞的目的。
- AIO protocol=”org.apache.coyote.http11.Http11Nio2Protocol“
异步非阻塞式IO,jdk1.7后之支持。与nio不同在于不需要多路复用选择器, 而是请求处理线程执行完程进行回调调知,已继续执行后续操作。
- APR protocol=”org.apache.coyote.http11.Http11AprProtocol“
全称是 Apache Portable Runtime/Apache可移植运行库),是Apache HTTP服务器的支持库。 可以简单地理解为,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作。
NIO
名称 | 描述 |
---|---|
acceptCount | 等待最大队列 |
acceptCount | 等待最大队列 |
address | 绑定客户端特定地址,127.0.0.1 |
bufferSize | 每个请求的缓冲区大小。bufferSize * maxThreads |
compression | 是否启用文档压缩 |
compressableMimeTypes | text/html,text/xml,text/plain |
connectionTimeout | 客户发起链接 到 服务端接收为止,中间最大的等待时间 |
connectionUploadTimeout | upload 情况下连接超时时间 |
disableUploadTimeout | true 则使用connectionTimeout |
enableLookups | 禁用DNS查询 true |
keepAliveTimeout | 当长链接闲置 指定时间主动关闭 链接 ,前提是客户端请求头 带上这个 head”connection” “keep-alive” |
maxKeepAliveRequests | 最大的 长连接数 |
maxHttpHeaderSize | |
maxSpareThreads | BIO 模式下 最多线闲置线程数 |
maxThreads(执行线程) | 最大执行线程数 |
minSpareThreads(初始线业务线程 10) | BIO 模式下 最小线闲置线程数 |