Tomcat运行模式和模式切换

Tomcat有三种运行模式。bio是阻塞式I/O操作,性能较低,Tomcat7以下默认采用;nio是Java新的I/O操作方式,基于缓冲区、非阻塞,并发性能好,修改配置即可生效;apr从操作系统级别解决异步IO问题,性能大幅提升,但安装困难。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tomcat的运行模式有3种

1)bio(blocking I/O)

即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。是基于JAVA的HTTP/1.1连接器,Tomcat7以下版本在默认情况下是以bio模式运行的。一般而言,bio模式是三种运行模式中性能最低的一种。我们可以通过Tomcat Manager来查看服务器的当前状态。(Tomcat7 或以下,在 Linux 系统中默认使用这种方式)

2)nio(network I/O)

是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。

想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为protocol="org.apache.coyote.http11.Http11NioProtocol"启动后,就可以生效。
利用 Java 的异步请求 IO 处理,可以通过少量的线程处理大量的请求

3)apr(Apache Portable Runtime/Apache可移植运行时)

安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.
必须要安装apr和native,直接启动就支持apr。
如nio修改模式,修改protocol为org.apache.coyote.http11.Http11AprProtocol即可变为APR运行模式

操作如下:

安装apr
[root@localhost ~]# ls apr-util-1.6.1.tar.gz apr-1.7.0.tar.gz httpd-2.4.39.tar.gz 
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.39.tar.gz
[root@localhost ~]# pwd
/root
[root@localhost ~]# tar -zxf apr-1.7.0.tar.gz 
[root@localhost ~]# cd apr-1.7.0/
[root@localhost apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.7.0]# make && make install

安装apr-util
[root@localhost apr-1.7.0]# cd
[root@localhost ~]# tar -zxf apr-util-1.6.1.tar.gz 
[root@localhost ~]# cd apr-util-1.6.1/
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@localhost apr-util-1.6.1]# make && make install

安装native
[root@localhost ~]# cd /usr/local/tomcat/bin/
[root@localhost bin]# ls
bootstrap.jar                 configtest.bat    setclasspath.sh  tomcat-native.tar.gz
catalina.bat                  configtest.sh     shutdown.bat     tool-wrapper.bat
catalina.sh                   daemon.sh         shutdown.sh      tool-wrapper.sh
catalina-tasks.xml            digest.bat        startup.bat      version.bat
commons-daemon.jar            digest.sh         startup.sh       version.sh
commons-daemon-native.tar.gz  setclasspath.bat  tomcat-juli.jar
[root@localhost bin]# tar -zxf tomcat-native.tar.gz 
[root@localhost bin]# cd tomcat-native-1.2.18-src/native/
[root@localhost native]# ./configure–with-apr=/usr/local/apr/bin/apr-1-config (如果不加后面的可能会报APR找不到的错误”checkingfor APR… no 
configure: error: APR could not be located. Please use the–with-apr option.” 
[root@localhost native]# make 
[root@localhost native]# make install
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值