tomcat三种工作模式介绍

io模型区别

类型 场景 特点
bio tomcat7及之前,同步模型 阻塞 一个线程处理一个请求,并发量高 线程数多,浪费资源
nio tomcat8 及以后,异步 非阻塞 可以通过少量的线程处理大量请求
apr 应对高并发场景 tomcat对静态文件的处理性能,是在tomcat上运行高并发应用的首选模式

查看当前使用的io模型

cat catalina.out |grep nio

20250815125937

修改io模型

修改为nio模式

vim /usr/local/tomcat/conf/server.xml 
    <Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />

查看修改结果catalina.out日志

cat catalina.out |grep nio2
12-Jun-2025 23:28:18.580 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["httpnio2-8080"]
12-Jun-2025 23:28:19.940 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-8080"]

修改为apr模式

# 安装apr环境
yum -y install apr apr-devel tomcat-native

vim /usr/local/tomcat/conf/server.xml 
    <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />

查看修改结果catalina.out日志

cat catalina.out |grep apr
12-Jun-2025 23:35:52.198 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["httpapr-8080"]
12-Jun-2025 23:35:53.565 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-ap-8080"]
posted @ 2025-08-15 13:01  阿峰博客站  阅读(7)  评论(0)    收藏  举报