Tomcat连接器详解

1.连接器等同于nginx中的引擎。

2.tomcat连接器有三种运行模式bio、nio、apr 。

(1)bio(blocking I/O,阻塞式I/O操作) 

1)表示tomcat使用的是传统的java I/O操作(即java.io包及其子包)。

2)一个线程处理一个请求。

3)缺点:并发量高时,线程数较多,浪费资源。

4)tomcat7或以下版本,在Linux系统中默认使用这种方式。

5)性能最差,没有经过任何优化处理和支持。 

(2)nio(non-blocking I/O)

1)java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。

2)java nio 是一个基于缓冲区、并能提供非阻塞I/O操作的java API。

3)拥有比传统I/O操作更好的并发运行性能。

4)利用java的异步IO处理,可以通过少量的线程处理大量的请求。

5)tomcat8在linux系统中默认使用这种方式。 

(3)apr(apache Portable Runtime /Nginx可移植运行时库)

 1)tomcat将以JNI的形式调用apache http服务器的核心动态链接库来处理文件读取或网络传输操作。

 2)大大提到tomcat对静态文件的处理性能。

 3)从操作系统级别来解决异步的IO问题,大幅度提高性能。

 4)tomcat apr也是tomcat上运行高并发应用的首选模式。

3.调整为nio模式,需修改配置文件 server.xml

修改以下内容

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               />

修改为

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="20000"
               />

4.调整为apr模式

(1)安装apr和native

1 yum -y install apr apr-devel
2 
3 cd /usr/local/tomcat/bin/
4 tar xzvf tomcat-native.tar.gz
5 cd tomcat-native-1.1.33-src/native/
6 ./configure --with-apr=/usr/bin/apr-1-config
7 make && make install

(2)设置环境变量

  1)第一种方式:在bin/catalina.sh中增加以下配置

      增加以下内容

  2)第二种方式:在/etc/profile中添加以下内容

exprot CATALINA_OPTS=-Djava.library.path=/usr/local/apr/lib

  source /etc/profile

(3)修改配置文件

  1)修改以下内容

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"

  2)修改为

  <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
               connectionTimeout="20000"
原文地址:https://www.cnblogs.com/IMSCZ/p/11057682.html