Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式。
bio简介
bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是传统的Java I/O操作(即Java.io包及其子包)。 Tomcat7及其以下的版本默认启动的模式,性能最差,没有经过任何优化处理和支持。
nio简介
nio(non-blocking I/O),java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API。拥有比传统I/O操作(bio)更好的并发运行性能。 Tomcat8及其以上的版本默认启动的模式。 要让Tomcat以nio模式来运行,修改配置文件:tomcat/conf/server.xml 修改以下内容: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 修改protocol的值为org.apache.coyote.http11.Http11NioProtocol <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" />
apr简介
apr(Apache Portable Runtime/Apache可移植运行时库),Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。从操作系统级别来解决异步的IO问题,大幅度的提高性能。 Tomcat apr也是在Tomcat上运行高并发应用的首选模式。 要让Tomcat以apr模式来运行,必须安装apr和native 1.安装apr: yum -y install apr apr-devel 2.安装native: http://mirror.bit.edu.cn/apache/tomcat/tomcat-connectors/native/1.1.34/source/tomcat-native-1.1.34-src.tar.gz tar xzf tomcat-native-1.1.34-src.tar.gz cd tomcat-native-1.1.34-src/jni/native/ yum install gcc -y ./configure --with-apr=/usr/bin/apr-1-config make && make install 3.整合Tomcat apr: 1>.设置环境变量 方法一:在/bin/catalina.sh中增加1行: (在echo “Using CATALINA_BASE: $CATALINA_BASE”的上一行添加) CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib" 方法二:在/etc/profile中加入: export CATALINA_OPTS=-Djava.library.path=/usr/local/apr/lib source /etc/profile 2>.修改配置文件:tomcat/conf/server.xml 修改以下内容: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 修改protocol的值为org.apache.coyote.http11.Http11NioProtocol <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol" connectionTimeout="20000" redirectPort="8443" />