浅谈Tomcat三种运行模式

网友投稿 553 2023-03-26


浅谈Tomcat三种运行模式

tomcat的运行模式有3种

一、bio(blocking I/O)

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

二、nio(new 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 处理,可以通过少量的线程处理大量的请求

三、apr

安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.

必须要安装apr和native,直接启动就支持apr。下面的修改纯属多余,仅供大家扩充知识,但仍然需要安装apr和native

如nio修改模式,修改protocol为org.apache.coyote.http11.Http11AprProtocol

官方对三种方式简单对比

Java Blocking Connector   Java Non Blocking Connector   APR/native Connector

BIO                         NIO                       APR

Classname              Http11Protocol             Http11NioProtocol         Http11AprProtocol

Tomcat Version           3.x onwards                 6.x onwards              5.5.x onwards

Support Polling              NO                          YES                       YES

Polling Size                 N/A                   maxConnections             maxConnections

Read HTTP Request         Blocking                  Non Blocking                 Blocking

Read HTTP Body            Blocking                  Sim Blocking                 Blocking

Write HTTP Response       Blocking                  Sim Blocking                 Blocking

Wait for next Request     Blocking                  Non Blocking     &ckVeLRnbsp;         Non Blocking

SSL Support               Java SSL                    Java SSL                   OpenSSL

SSL Handshake             Blocking                  Non blocking                 Blocking

Max Connections        maxConnections              maxConnections             maxConnections

APR项目有APR,APR-util和APR-iconv,其中APR-iconv是可选安装的。

下载最新的APR和APR-util源码包

4、安装APR

1)解压apr-1.4.6:tar -zxf apr-1.4.6

2) cd apr-1.4.6

3)依次执行./configure

make

sudo make install

在apr被安装到了/usr/local/apr目录下面

5、 安装APR-util

1) 解压apr-util-1.4.1:tar -zxfapr-util-1.4.1

2) cd apr-util-1.4.1

3) 依次执行./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.”

make

sudo make install

apr-util也被安装找/usr/local/apr下面

6、进入tomcat主目录下,在bin/tomcat-native-1.1.23-src/jni/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.”

make

sudo make install

7、 设置启动参数:

在catalina.sh 加入启动参数:

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

总结

以上就是本文关于浅谈Tomcat三种运行模式的全部内容,感兴趣的朋友可以继续参阅:Tomcat开启JMX服务方法介绍、jsp-解决文件上传后重启Tomcat时文件自动删除问题等,如有不足之处,欢迎留言指出,一定及时回复大家并修改,希望对大家对本站多多支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:服务器管理平台接口(服务器管理平台接口是什么)
下一篇:springboot前后台数据交互的示例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~