一前言
tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态。


二 bio

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


三 nio

利用java的异步io护理技术,no blocking IO技术.

想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为


connectionTimeout="20000"

URIEncoding="UTF-8"

useBodyEncodingForURI="true"

enableLookups="false"

redirectPort="8443" />

启动后,就可以生效。性能得到初步优化但与apr相比,还是有一些差距。


四 apr

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

必须要安装apr和native,直接启动就支持apr。

下面的修改纯属多余,仅供大家扩充知识,但仍然需要安装apr和native

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


五 补充

2)关于性能数据请读者们自行研究,笔者不是在写教科书在此只是给出思路,性能研究是个很深的领域,请各位按需自行搭建环境测试;

3)总的来说,bio是不推荐使用的,apr的模式推荐;


item

protocol

Requests per second

BIO

org.apache.coyote.http11.Http11Protocol

916.06 [#/sec] (mean)

NIO

org.apache.coyote.http11.Http11NioProtocol

2102.26 [#/sec] (mean)

APR

org.apache.coyote.http11.Http11AprProtocol

1997.24 [#/sec] (mean)