zoukankan      html  css  js  c++  java
  • tomcat7.0.27的bio,nio.apr高级运行模式

    一 前言
    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

    五 补充
    1)安装APR的方法,请看我另一篇博客http://phl.iteye.com/blog/910984;
    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)

  • 相关阅读:
    hello fetch
    git 基础命令
    拜占庭将军
    如何学习区块链
    简单的理解区块链技术
    使用AOP统一验签和校参
    为每个请求分配traceId的两种方式及父子线程本地变量传递
    监听kafka消息
    JVM OOM分析与调优
    JVM内存结构
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7480393.html
Copyright © 2011-2022 走看看