Tomcat支持三种接收请求的处理方式:BIO、NIO、ARP。
BIO模式:阻塞式I/O操作,表示Tomcat使用传统Java I/O操作。默认情况下,Tomcat7以下版本使用BIO模式运行,由于每个请求都要创建一个线程来处理,线程开销较大,不能处理高并发的场景,在三种模式中性能最低。如下:
NIO模式:是Java SE 1.4及后续版本提供的一种新I/O操作方式。是一个基于缓冲区,并能够提供非阻塞I/O操作的JAVA API,它拥有比传统I/O操作(BIO模式)更好的并发运行性能。在Tomcat7中启用NIO模式,需要server.xml配置文件支持。
protocol="org.apache.coyote.http11.Http11NioProtocol"
在Tomcat 8以上版本,默认就是使用NIO模式,不需要做额外的修改。
APR模式:简单的理解就是从操作级别解决异步IO问题,大幅度的提高服务器的性能和响应性能,也是Tomcat运行高并发应用的首选模式。从Tomcat 7.0.30开始,Tomcat默认支持apr。在这,主要说明APR模式的开启。
- 环境说明
系统: CentOS 6.5 x64
JDK版本: JDK 1.7.0_79
Tomcat版本: 7.0.67
2. 安装步骤
2.1 安装APR
# tar zxf apr-1.5.2.tar.gz
# cd apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make && make install
2.2 安装APR-UTILS
# tar zxf apr-util-1.5.4.tar.gz
# cd apr-util-1.5.4
# ./configure --with-apr=/usr/local/apr
# make && make install
2.3 安装tomcat-native
# tar zxf tomcat-native-1.1.34-src.tar.gz
# cd tomcat-native-1.1.34-src/jni/native/
# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/java/jdk1.7.0_79/
# make && make install
修改环境变量:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib
2.4 验证结果