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 驗證結果