精华内容
下载资源
问答
  • 主要介绍了浅谈Tomcat三种运行模式,小编冒昧将两篇文章略微整合了一下,有不足的地方,欢迎指出。需要的朋友可以参考。
  • tomcat三种运行模式

    千次阅读 2019-02-19 11:08:49
    不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式,那么这三种运行模式有什么区别呢,我们又如何修改Tomcat Connector的运行模式来提高Tomcat的运行性能呢? 下面,我们...

    Tomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用的服务器之一。不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bionioapr三种运行模式,那么这三种运行模式有什么区别呢,我们又如何修改Tomcat Connector的运行模式来提高Tomcat的运行性能呢?

    下面,我们先大致了解Tomcat Connector的三种运行模式。

    bio

    bio(blocking I/O),顾名思义,即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。Tomcat在默认情况下,就是以bio模式运行的。遗憾的是,就一般而言,bio模式是三种运行模式中性能最低的一种。我们可以通过Tomcat Manager来查看服务器的当前状态。【点击这里可以查看Tomcat Manager用户配置的相关信息】

     

    nio

    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)更好的并发运行性能。要让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" />

    此时,我们就可以在Tomcat Manager中看到当前服务器状态页面的HTTP协议的Connector运行模式已经从http-bio-8080变成了http-nio-8080

     

    apr

    apr(Apache Portable Runtime/Apache可移植运行时),是Apache HTTP服务器的支持库。你可以简单地理解为,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。 Tomcat apr也是在Tomcat上运行高并发应用的首选模式。如果我们的Tomcat不是在apr模式下运行,在启动Tomcat的时候,我们可以在日志信息中看到类似如下信息:

    2013-8-6 16:17:49 org.apache.catalina.core.AprLifecycleListener init
    信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: xxx/xxx(这里是路径信息)

    Tomcat apr运行模式的配置是三种运行模式之中相对比较麻烦的一种。据官方文档所述,Tomcat apr需要以下三个组件的支持:

    • APR library[APR库]
    • JNI wrappers for APR used by Tomcat (libtcnative)[简单地说,如果是在Windows操作系统上,就是一个名为tcnative-1.dll的动态链接库文件]
    • OpenSSL libraries[OpenSSL库]

    此外,与配置nio运行模式一样,也需要将对应的Connector节点的protocol属性值改为org.apache.coyote.http11.Http11AprProtocol。 不过,上述繁琐的操作都是Tomcat 7.0.30之前的版本才需要这样配置,从Tomcat 7.0.30版本开始,Tomcat已经自带了tcnative-1.dll等文件,并且默认就是在Tomcat apr模式下运行,因此我们只需要下载最新版本的Tomcat直接使用即可。

     

    此外,即使不使用Tomcat Manager,我们也可以区分出Tomcat当前的运行模式。如果以不同的Connector模式启动,在Tomcat的启动日志信息中一般会包含类似如下的不同内容,我们只需要根据这些信息即可判断出当前Tomcat的运行模式:

    bio

    信息: Starting ProtocolHandler ["http-bio-8080"] 2013-8-6 16:17:50 org.apache.coyote.AbstractProtocol start

    nio

    信息: Starting ProtocolHandler ["http-nio-8080"] 2013-8-6 16:59:53 org.apache.coyote.AbstractProtocol start

    apr

    信息: Starting ProtocolHandler ["http-apr-8080"] 2013-8-6 17:03:07 org.apache.coyote.AbstractProtocol start

    Tomcat 6.x版本从6.0.32开始就默认支持apr。
    Tomcat 7.x版本从7.0.30开始就默认支持apr。
    因此,如果读者使用的Tomcat版本比较陈旧的话,强烈建议升级到最新的稳定版本。
    展开全文
  • Tomcat8.0起已经默认nio模式,不需要做修改,BIO模式也已经抛弃了,今天主要介绍下tomcat三种运行模式:BIO、NIO、ARP。 简述及配置运行模式 1、bio:没经过任何优化和处理,几百并发性能极低下。 配置server.xml ...

    转载于 http://server.51cto.com/sOS-595052.htm

    概述

    Tomcat8.0起已经默认nio模式,不需要做修改,BIO模式也已经抛弃了,今天主要介绍下tomcat的三种运行模式:BIO、NIO、ARP。

    简述及配置运行模式

    1、bio:没经过任何优化和处理,几百并发性能极低下。
    在这里插入图片描述
    配置server.xml

    <Connector port="8080" protocol="HTTP/1.1" 
     connectionTimeout="20000" 
     redirectPort="8443"  
    URIEncoding="UTF-8"/> 
    

    2、nio:利用java的异步io技术,no blocking IO技术.
    在这里插入图片描述
    配置server.xml

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" 
     connectionTimeout="20000" 
     redirectPort="8443"  
    URIEncoding="UTF-8"/> 
    

    3、apr模式
    安装最困难,操作系统级别的控制,但也是在Tomcat上运行高并发应用的首选模式。

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol" 
     connectionTimeout="20000" 
     redirectPort="8443"  
    URIEncoding="UTF-8"/> 
    

    配置apr模式之后还需要安装 apr 、 apr-utils 、tomcat-native包
    (1)apr 安装

    # tar zxf apr-1.5.2.tar.gz -C /usr/local/src/ 
    # cd /usr/local/src/apr-1.5.2/ 
    # ./configure --prefix=/usr/local/apr && make && make install 
    

    (2)apr-utils 安装

    # tar zxf apr-util-1.5.4.tar.gz -C /usr/local/src/ 
    # cd /usr/local/src/apr-util-1.5.4/ 
    # ./configure --with-apr=/usr/local/apr/ --prefix=/usr/local/apr-utils && make && make install
    

    (3)tomcat-native安装

    # cd /usr/local/apache-tomcat-7.0.65/bin/ 
    # tar zxf tomcat-native.tar.gz 
    # cd tomcat-native-1.1.33-src/jni/native 
    # ./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/java/ && make && make install 
    

    (4)配置APR环境变量

    # vim /etc/profile 
    新增配置以下配置 
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib 
    使配置生效 
    # source /etc/profile 
    

    BIO、NIO、AIO适用场景分析:

    BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解。

    NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持。

    AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK7开始支持。
    这三种模式的不同之处如下:

    BIO:
    一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。

    Tomcat7或以下,在Linux系统中默认使用这种方式。

    NIO:
    利用Java的异步IO处理,可以通过少量的线程处理大量的请求。

    Tomcat8在Linux系统中默认使用这种方式。

    APR:
    即Apache Portable Runtime,从操作系统层面解决io阻塞问题。

    Tomcat7或Tomcat8在Win7或以上的系统中启动默认使用这种方式。

    官方对这三种的区别的详细说明:
    在这里插入图片描述
    Tomcat启动的时候,可以通过log看到Connector使用的是哪一种运行模式:

    Starting ProtocolHandler [“http-bio-8080”]
    Starting ProtocolHandler [“http-nio-8080”]
    Starting ProtocolHandler [“http-apr-8080”]

    个人觉得在 tomcat bio、nio、apr 模式中,每种都会有各自适用的场合,也不能说哪个好那个不好,就像 tomcat 内存方面的配置,如果内存设置的过大,gc 垃圾回收机制就会变慢;如果内存设置的过小,tomcat又会出现内存溢出的情况,所以设置在一个合适的范围很重要,不仅不会出错,并且gc回收频繁使性能达到一个最优的结果。当然,这也需要根据不同的场合进行不同的测试才能产生最优的结果!

    展开全文
  • Tomcat三种运行模式

    千次阅读 2018-09-09 11:00:00
    Tomcat支持三种接收请求的处理方式:BIO,NIO,APRBIO模式:阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即:java.io包...

    Tomcat支持三种接收请求的处理方式: BIONIOAPR

    BIO模式: 阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即:java.io包及其子包);Tomcat 7以下版本默认情况下是以BIO模式运行的,由于每个请求的都要创建一个线程来处理,因此 线程的开销较大,不能处理高兵的场景,在三种模式中性能也最低效;启动Tomcat看日志如下表示为BIO模式:

    NIO模式: 是Java SE 1.4以后续版本提供的一种新的I/O操作方式(即:java.nio包及其子包);是一个基于 缓存区、并提供非阻塞I/O操作的Java API,它拥有比传统的I/O操作(BIO)更好的并发运行性能;

    APR模式: 简单理解就是,从操作系统级别解决异步IO问题,大幅度的提高服务器的处理合相应性能,也是Tomcat运行高并发应用的首选模式;

    官方对三种运行模式的区别说明如下:

    参数Java Blocking Connector (BIO模式)Java Nio Blocking Connector(NIO模式)APR/native Connector(APR模式)
    classnameAjpProtocolAjpNioProtocolAjpAprProtocol
    Tomcat Version3.x onwards7.x onwards5.5.x onwards
    Support PollingNOYESYES
    Polling SizeN/AmaxConnectionsmaxConnections
    Read Request HeadersBlockingSim BlockingBlocking
    Read Request BodyBlockingSim BlockingBlocking
    Write ResponseBlockingSim BlockingBlocking
    Wait for next RequestBlockingNon BlockingNon Blocking
    Max ConnectionsmaxConnectionsmaxConnectionsmaxConnections

    特征 

    模式默认运行版本处理方式
    BIO运行模式Tomcat7或以下版本一个线程处理一个请求;缺点:并发量高是,线程数较多,浪费资源
    NIO运行模式Tomcat8版本利用Java的异步IO处理,可通过少量的线程处理大量请求;
    APR运行模式Tomcat7 或 8 在win7或以上系统中默认使用从操作系统层面解决IO阻塞问题;


    Tomcat启动时,可以通过 catalina.out启动日志查看使用的是哪种运行模式:

    Starting ProtocolHandler ["http-bio-8080"] ## BIO模式	
    Starting ProtocolHandler ["http-nio-8080"] ## NIO模式	
    Starting ProtocolHandler ["http-apr-8080"] ## APR模式

    Tomcat BIO模式

    自Tomcat 8.5 版本开始,Tomcat就移除了对BIO的支持; BIO即阻塞式I/O,是java提供的最基本的I/O方式。在网络通信(此处主要讨论TCP/IP协议)中,需要通过Socket在客户端与服务端建立双向链接以实现通信,主要步骤如下:

    • (1) 服务端监听某个端口是否有链接请求

    • (2) 客户端想服务端发出链接请求

    • (3) 服务端想客户端返回Accept(接受)消息,此时链接成功

    • (4) 客户端和服务端通过send()、write()等方法与对方通信

    • (5) 关闭链接

    Tomcat 7以下版本默认情况下是以BIO模式运行的,由于每个请求的都要创建一个线程来处理,因此 线程的开销较大,不能处理高并发的场景,在三种模式中性能也最低效;启动Tomcat看日志如下表示为BIO模式:

    640

    Tomcat NIO模式

    重要提示:使用这些功能需要使用APR或NIO HTTP连接器。传统的java.io HTTP连接器和AJP连接器不支持它们

    传统的BIO方式是基于流进行读写的,而且是阻塞的,整体性能比较差; 为了提供I/O性能,JDK自1.4版本引入了NIO模式,它弥补了原来BIO方式的不足,在标准的java代码中提供了 高速、面向块的I/O。 通过定义包含数据的类以及以块的形式处理数据,NIO可以在不编写本地代码的情况下利用底层优化,这是BIO所无法做到的;

    NIO模式 是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,它拥有比传统I/O操作(bio)更好的并发运行性能。要让Tomcat以nio模式来运行比较简单,只需要在Tomcat安装目录/conf/server.xml文件中将如下配置:

    &lt;Connector port="8080" protocol="HTTP/1.1"	
    connectionTimeout="20000"	
    redirectPort="8443" /&gt;

    修改成:

    &lt;Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"	
    connectionTimeout="20000"	
    redirectPort="8443" /&gt;

    注意: Tomcat8以上版本,默认使用的就是NIO模式;不需要额外修改

    640

    提示: 更改模式时,如果只修改上述文件内容,则只有 ["http-nio-8180"]被修改为NIO模式,若想上图中2处都修改为 NIO模式则还需要修改如下内容:

    &lt;Connector port="8109" protocol="AJP/1.3" redirectPort="8443" /&gt; 

    改为:

    &lt;Connector port="8109" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443" /&gt;

    以下属性是特定于NIO连接器 NIO连接器官方详细说明

    640

    Tomcat NIO2模式

    NIO2是JDK7新增的文件及网络I/O特性,它继承自NIO 同时添加了众多特性及功能改进,其中最重要的即是对异步I/O(AIO)的支持;

    • 1 . 通道 在AIO中,通道必须实现接口 java.nio.chanels.AsynchronousChannel(继承自java.nio.channels.Channel JDK7提供了3个通道实现类: java.nio.channels.AsynchronousFileChannel用于文件I/O, java.nio.channels.AsynchronousServerSocketChannel 和 java.nio.channels.AsynchronousSocketChannel用于网络I/O

    • 2 . 缓冲区 AIO仍通过操作缓冲区完成数据的读写操作,这里不再阐述。

    • 3 . Future 和 CompletionHandler AIO操作存在两种操作方式: Future 和 CompletionHandler ; 我们可以使用其中任何一种来完成I/O操作 首先, AIO使用了java并发包的API,无论接收Socket请求还是读写操作,均可以返回一个java.util.concurrent.Future对象来表示I/O处于等待状态; 通过Future的方法,我们可以检测操作是否完成(isDone)、等待完成并取得操作结果(get)等。 当接收请求(accept)结束时,Future.get返回值为AsynchronousSocketChannel; 读写操作时(read/write),Future.get返回值为读写操作结果。

    • 4 . 异步通道组 AIO新引入了异步通道组(Asynchronous Channel Group)的概念,每个异步通道均属于一个指定的异步通道组,同一个通道组内的通道共享一个线程池; 线程池内的线程接收指令来执行I/O事件并将结果分发到CompletionHandler。 异步通道组包括线程池以及所有通道工作线程共享的资源。通道生命周期受所属通道组影响,当通道组关闭后,通道也随之关闭;

    Tomcat APR模式

    • APR模式:简单来说,就是从操作系统级别解决异步IP问题,大幅度的提高服务器的处理和响应性能,也是Tomcat运行高并发应用的首选模式;

    • 启动这种模式需要安装一些依赖库,下面进行详细说明:

    基于Apache Portable Runtime(APR)的Tomcat本地库

    安装要求:

    • APR 1.2+开发头文件(libapr1-dev包)

    • OpenSSL 0.9.7+开发头文件(libssl-dev包)

    • 来自Java兼容JDK 1.4+的JNI头文件

    • GNU开发环境(gcc,make)

    apr的安装

    下载apr包地址(http://apache.fayea.com/apr/)

    ## 下载解压	
    wget http://apache.fayea.com/apr/apr-1.6.3.tar.gz	
    wget http://apache.fayea.com/apr/apr-util-1.6.1.tar.gz	
    tar fxz apr-1.6.3.tar.gz 	
    tar fxz apr-util-1.6.1.tar.gz 	
    	
    ## 安装	
    cd apr-1.6.3/	
    ./configure --prefix=/usr/local/apr	
    make &amp;&amp; make install	
    	
    cd apr-util-1.6.1/	
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr	
    make &amp;&amp; make install

    安装tomcat-native

    cd /usr/local/tomcat/bin tar -zxvf tomcat-native.tar.gz	
    cd tomcat-native-1.1.22-src/jni/native	
    ./configure --with-apr=/usr/local/apr	
    make &amp;&amp; make install

    设置apr环境变量

    # vim /etc/profile	
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib	
    	
    # 执行 source /etc/profile 立即生效

    修改Tomcat配置文件

    修改http协议

    &lt;Connector port="8080" protocol="HTTP/1.1"	
    connectionTimeout="20000"	
    redirectPort="8443" /&gt;

    修改成:

    &lt;Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"	
    connectionTimeout="20000"	
    redirectPort="8443" /&gt;

    修改AJP协议

    &lt;Connector port="8109" protocol="AJP/1.3" redirectPort="8443" /&gt;

    改为:

    &lt;Connector port="8109" protocol="org.apache.coyote.http11.Http11AprProtocol" redirectPort="8443" /&gt;

    总结

    对于每种协议,Tomcat都提供了对应的I/O方式的实现,而且Tomcat官方还提供了在每种协议下每种I/O实现方案的差异; HTTP协议下的处理方式如下表:


    NIONIO2APR
    引用版本≥6.0≥8.0≥5.5
    轮询支持
    轮询队列大小maxConnectionsmaxConnectionsmaxConnections
    读请求头非阻塞非阻塞非阻塞
    读请求体阻塞阻塞阻塞
    写响应阻塞阻塞阻塞
    等待新请求非阻塞非阻塞非阻塞
    SSL支持Java SSL/Open SSLJava SSL/Open SSLOpen SSL
    SSL握手非阻塞非阻塞阻塞
    最大链接数maxConnectionsmaxConnectionsmaxConnections

    展开全文
  • Tomcat三种运行模式(BIO, NIO, APR)

    千次阅读 2017-07-10 15:23:37
    Tomcat三种运行模式(BIO, NIO, APR)**Tomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用 的服务器之一。不过,许多开发人员不知道的是,Tomcat Connector (Tomcat连接器)有bio、nio、apr三种运行...

    Tomcat三种运行模式(BIO, NIO, APR)

    Tomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用的服务器之一。不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式,那么这三种运行模式有什么区别呢,我们又如何修改Tomcat Connector的运行模式来提高Tomcat的运行性能呢?

    1.同步,异步,阻塞,非阻塞场景举例

    • 同步:自己的事情自己做(使用同步IO时,JAVA自己处理IO读写)
    • 异步:找个小弟帮你做(使用异步IO时,JAVA将IO读写委托给OS(系统)处理,需要将数据缓冲区地址和大小传给OS,OS需要支持异步IO和操作API)
    • 阻塞:吃饭的时候只能一口一口吃,下一口只能等待(使用阻塞IO时,JAVA调用会一直阻塞到读写完成才返回)
    • 非阻塞:烧水的同时,你可以去洗杯子,可以去看电视(使用非阻塞IO的时候,如果不能读写JAVA调用会马上返回,当IO事件分发器会通知可读写时再进行读写,不断循环直到读写完成)

    2.JAVA对BIO,NIO和AIO的支持

    • BIO: 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。
    • NIO:同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。
    • AIO:异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理

    3.BIO,NIO,AIO适用场景分析

    • BIO:适用连接数较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中。
    • NIO:适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂。
    • AIO:适用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂。

    4.Tomcat中BIO,NIO,APR模式介绍

    • BIO(blocking I/O):阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。Tomcat在默认情况下,就是以bio模式运行的。遗憾的是,就一般而言,bio模式是三种运行模式中性能最低的一种。我们可以通过Tomcat Manager来查看服务器的当前状态。
    • NIO:是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能
    • APR:(Apache Portable Runtime/Apache可移植运行库),是Apache HTTP服务器的支持库。你可以简单地理解为,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。 Tomcat apr也是在Tomcat上运行高并发应用的首选模式。

    总结

    个人觉得在 tomcat bio、nio、apr 模式中,每种都会有各自适用的场合,apr其实也是nio只不过他是操作系统级别的支持,nio是由java本身的nio支持的,也不能说哪个好那个不好。就像 tomcat 内存方面的配置,如果内存设置的过大,gc 垃圾回收机制就会变慢;如果内存设置的过小,tomcat又会出现内存溢出的情况,所以设置在一个合适的范围很重要,不仅不会出错,并且gc回收频繁使性能达到一个最优的结果。当然,这也需要根据不同的场合进行不同的测试才能产生最优的结果!

    展开全文
  • tomcat三种运行模式

    万次阅读 2017-01-10 14:25:42
    Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。 Tomcat7...
  • tomcat三种工作模式

    千次阅读 2018-01-27 09:33:54
    Tomcat 的连接器有两:HTTP和AJP AJP(Apache JServ Protocol):AJP是面向数据包的基于TCP/IP的协议,它在Apache和Tomcat的实例之间提供了一个专用的通信信道 主要有以下特征: 1) 在快速网络有着较好的性能表现...
  • Tomcat Connector的三种运行模式

    千次阅读 2016-12-02 20:17:37
    Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式。BIObio(blocking I/O)是指阻塞式I/O操作,Tomcat在默认情况下就是以bio模式运行的。这可以从守护线程的信息看出来。 关于”阻塞式”的理解,我们回忆...
  • Tomcat运行模式有3.修改他们的运行模式.3模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态。BIO默认的模式,性能非常低下,没有经过...
  • tomcat运行模式

    2015-09-17 11:13:26
    描述tomcat三种运行模式,以及其相应的配置方法
  • Tomcat三种模式区别及配置

    千次阅读 2019-03-21 10:38:44
    Tomcat运行模式有3,即BIO、NIO和APR。 BIO 一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。Tomcat7或以下,在Linux系统中默认使用这种方式。 NIO 利用Java的异步IO处理,可以通过少量的...
  • Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。 Tomcat7或以下,在Linux系统...
  • tomcat部署的三种方式及优缺点对比

    千次阅读 2018-08-19 23:45:46
    Tomcat三种部署方式:     为了演示需要,简单创建了一个web项目tomcat_deploy ,编写了 index.jsp 作为欢迎页     部署方法一:将编译成功的web项目直接放到webapps目录中(注意是编译成功的web项目...
  • debug模式启动tomcat

    2017-08-28 17:03:06
    放到tomcat的bin下启动,端口号8013
  • tomcat Connector(连接器)有几种运行模式? 一、bio(blocking I/O) 即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(也就是java.io包及其子包对象)。是基于JAVA的HTTP/1.1连接器...bio是三种运行模式中性能...
  • 不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式,那么这三种运行模式有什么区别呢,我们又如何修改Tomcat Connector的运行模式来提高Tomcat的运行性
  • 不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式,那么这三种运行模式有什么区别呢,我们又如何修改Tomcat Connector的运行模式来提高Tomcat的运行性能呢? 下面,我们...
  • 遗憾的是,就一般而言,bio模式是三种运行模式中性能最低的一种。我们可以通过Tomcat Manager来查看服务器的当前状态。 NIO   是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。...
  • 主要介绍了IDEA Maven项目使用debug模式运行Tomcat的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • Tomcat之——运行模式

    千次阅读 2017-04-07 23:41:22
    tomcat运行模式有3 1、bio 默认的模式,性能非常低下,没有经过任何优化处理和支持. 2、nio 利用java的异步io护理技术,noblocking IO技术. 想运行在该模式下,直接修改server.xml里的Connector节点,修改...
  • tomcat

    千次阅读 2019-08-30 13:47:17
    tomcat 文章目录tomcat1. tomcat简介2. tomcat项目部署2.1 java环境安装2.2 tomcat部署2.3 开启管理模块 1. tomcat简介 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,...
  • Tomcat支持三种接收请求的处理方式:BIO、NIO、APR  1>、BIO模式:阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即java.io包及其子包)。Tomcat7以下版本默认情况下是以bio模式运行的,由于每个请求都要创建...
  • Tomcat三种高级运行模式

    万次阅读 多人点赞 2017-02-08 15:11:40
    Tomcat 的连接器有两:HTTP和AJPAJP(Apache JServ Protocol):AJP是面向数据包的基于TCP/IP的协议,它在Apache和Tomcat的实例之间提供了一个专用的通信信道主要有以下特征: 1) 在快速网络有着较好的性能表现,支持...
  • tomcat9更换运行模式为 Apr 模式

    千次阅读 2018-10-17 15:54:01
    Tomcat支持三种接收请求的处理方式:BIO、NIO、APR 。 1. BIO由于每个请求都要创建一个线程来处理,线程开销比较大,不能再高并发的场景,性能也是最低的。 2. NIO是一个基于缓冲区、并能提供非阻塞I/O操作的Java ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,592
精华内容 48,236
关键字:

tomcat的三种运行模式