tomcat的运行模式有3种,分别为BIO NIO APR,他们的性能也有差距,下面介绍如何变更。

bio

Tomcat 默认的模式,性能非常低下,没有经过任何优化处理和支持。

nio

利用java的异步io护理技术,no blocking IO技术。想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol,参考下面的代码段。

<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" 
    connectionTimeout="20000" 
    URIEncoding="UTF-8" 
    useBodyEncodingForURI="true" 
    enableLookups="false" 
    redirectPort="8443" /> 

apr

从操作系统级别来解决异步的IO问题,大幅度的提高性能,必须要安装apr和native,直接启动就支持apr。

CentOS可以直接使用yum安装,先安装epel的yum源,然后安装apr和native。安装命令如下:

yum install epel-release
yum install apr-util tomcat-native

配置文件保持默认即可,或者也可以按照下面方式修改,指定为apr。

<Connector port="80" protocol="org.apache.coyote.http11.Http11AprProtocol" 
    connectionTimeout="20000" 
    URIEncoding="UTF-8" 
    useBodyEncodingForURI="true" 
    enableLookups="false" 
    redirectPort="8443" />