Tomcat Connector 的工作模式?
Tomcat 面试题发布于
一、三种运行模式
- BIO:阻塞 IO,每个请求一个线程,Tomcat 7 前默认。
- NIO:非阻塞 IO,基于 Java NIO,Tomcat 8 默认。
- APR:基于 Apache Portable Runtime,原生 C 库,性能最好。
二、NIO 模式
- 一个 Acceptor 线程接收连接。
- 一个 Poller 线程轮询 Selector,检测就绪事件。
- 线程池处理请求。
- 少量线程处理大量连接,适合高并发。
三、配置
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200" minSpareThreads="20" acceptCount="100"/>
四、优化
- 调整 maxThreads(最大线程数)。
- 调整 acceptCount(等待队列)。
- 启用压缩 compression。
- 调整连接超时 connectionTimeout。