Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化

作者: 5473 分类: Tomcat 发布时间: 2017-06-15 15:55 阅读数:641
三种模式的不同之处如下:
  • BIO:一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。Tomcat7或以下,在Linux系统中默认使用这种方式。
  • NIO:利用Java的异步IO处理,可以通过少量的线程处理大量的请求。Tomcat8在Linux系统中默认使用这种方式。Tomcat7必须修改Connector配置来启动:<Connector port=”8080″ protocol=”org.apache.coyote.http11.Http11NioProtocol” connectionTimeout=”20000″ redirectPort=”8443″/>
  • APR:即Apache Portable Runtime,从操作系统层面解决io阻塞问题。Tomcat7或Tomcat8在Win7或以上的系统中启动默认使用这种方式。Linux如果安装了apr和native,Tomcat直接启动就支持apr。
官方对这三种的区别的详细说明:
Tomcat启动的时候,可以通过log看到Connector使用的是哪一种运行模式:
  • Starting ProtocolHandler [“http-bio-8080″]
  • Starting ProtocolHandler [“http-nio-8080″]
  • Starting ProtocolHandler [“http-apr-8080″]

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注