tomcat9更换运行模式为 Apr 模式


在选择 Tomcat 的连接器模式时,通常会考虑性能、并发性和可扩展性等因素。在 Tomcat 中,常见的连接器模式包括 BIO(Blocking IO)、NIO(Non-blocking IO)和 APR(Apache Portable Runtime)。

  1. BIO(阻塞式IO):在BIO模式下,每个请求都会创建一个线程,该线程会一直阻塞直到请求完成。虽然BIO模式简单易用,但在高并发环境下性能较差,因为每个连接都需要一个线程,当连接数量增加时,线程数量也会增加,从而导致资源消耗和性能下降。

  2. NIO(非阻塞式IO):NIO模式使用非阻塞IO来处理连接。它使用少量的线程来处理大量的连接,因此在高并发环境下具有更好的性能和资源利用率。NIO适用于需要处理大量连接但每个连接处理时间较短的场景。

  3. APR(Apache Portable Runtime):APR模式是建立在NIO之上的一种模式,它利用了操作系统提供的本地IO功能。与纯Java NIO相比,APR通常可以提供更好的性能,特别是在处理大文件和高并发时。然而,APR模式需要依赖本地库,而且配置起来可能相对复杂。

一般来说,在不考虑特定需求的情况下,NIO模式是一个很好的选择,因为它在大多数情况下都能提供良好的性能,并且不需要额外的本地库支持。但是,如果你需要处理大文件或对性能有极高要求,可以考虑使用APR模式。

vim /usr/local/tomcat/conf/server.xml
 
<Executor name="tomcatThreadPool" 
          namePrefix="catalina-exec-"
          maxThreads="300" 
          minSpareThreads="30"/>
 
<Connector     executor="tomcatThreadPool" 
               port="8080" 
               protocol="org.apache.coyote.http11.Http11AprProtocol"
               connectionTimeout="20000"
               redirectPort="8443"
               acceptCount="900"
               disableUploadTimeout="true"
               URIEncoding="UTF-8"
               enableLookups="false"
               compression="on"
               compressionMinSize="1024"
                />
 
<!-- Define an AJP 1.3 Connector on port 8009 -->  ##注释掉下面那行,如果不用apache
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />  -->    

 

posted @ 2023-11-04 21:14  锐洋智能  阅读(156)  评论(0编辑  收藏  举报