一 前言

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

二 bio

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

三 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相比,还是有一些差距。

四 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)

tomcat7.0.8的高级应用-apr1.4.2安装

一 windows下安装
直接拷贝tcnative-1.dll到TOMCAT_HOME/bin目录下,启动即可

下载地址 http://archive.apache.org/dist/tomcat/tomcat-connectors/native/

二 linux centos4.8或者ubuntu10.10 server安装

1.下载包

到http://apr.apache.org/下载下面3个包

apr-1.4.2.tar.gz

apr-iconv-1.2.1.tar.gz

apr-util-1.3.10.tar.gz

java版本jdk-6u23-linux-x64-rpm.bin

tomcat版本apache-tomcat-7.0.8.tar.gz

三 安装JDK,tomcat

安装JDK并设置环境变量

vi /etc/profile #在他文件末尾处添加下面的变量

# java

JAVA_HOME=/usr/java/jdk1.6.0_23

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

执行

source /etc/profile

此时环境变量生效果

apache-tomcat-7.0.8.tar.gz解压缩到/usr/local/下面

四 安装apr插件

1)安装apr

tar zxvf apr-1.4.2.tar

cd apr-1.4.2

./configure --prefix=/usr/local/apr

make

make install

2)安装apr-iconv

程序代码

tar -zxvf apr-iconv-1.2.1.tar.gz

cd apr-iconv-1.2.1

./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr

make

make install

3)安装apr-util

程序代码

tar zxvf apr-util-1.3.10.tar.gz

cd apr-util-1.3.10

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv

make

make install

4)安装tomcat-native

程序代码

tar zxvf tomcat-native-1.1.20-src.tar.gz

cd tomcat-native-1.1.20-src/jni/native  

./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_23

make

make install

5)添加环境变量

vi /etc/profile #在他文件末尾处添加下面的变量

# apr

export LD_LIBRARY_PATH=/usr/local/apr/lib

执行

source /etc/profile

此时环境变量生效果

启动tomcat

TOMCAT_HOME/bin/start.sh

more TOMCAT_HOME/logs/catalina.out

即可看到

Aug 29, 2010 3:47:32 PM org.apache.catalina.core.AprLifecycleListener init

INFO: Loaded APR based Apache Tomcat Native library 1.1.20.

优化完成

作者简介

昵称:澳洲鸟

姓名:朴海林

QQ:85977328

MSN:6301655@163.com

转载请注明出处

tomcat7.0.27的bio,nio.apr高级运行模式(转)的更多相关文章

  1. Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式及apr配置

    转: http://www.oschina.net/question/54100_16195omcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志. ...

  2. 【转】Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式

    转载地址:http://www.oschina.net/question/54100_16195   tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或 ...

  3. Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式

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

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

    Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomc ...

  5. tomcat bio nio apr 模式性能测试

    转自:tomcat bio nio apr 模式性能测试与个人看法 11.11活动当天,服务器负载过大,导致部分页面出现了不可访问的状态.那后来主管就要求调优了,下面是tomcat bio.nio.a ...

  6. Tomcat Connector三种执行模式(BIO, NIO, APR)的比較和优化

    Tomcat Connector的三种不同的执行模式性能相差非常大,有人測试过的结果例如以下: 这三种模式的不同之处例如以下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. ...

  7. Tomcat 的三种高级运行模式

    Tomcat 的连接器有两种:HTTP和AJP AJP(Apache JServ Protocol):AJP是面向数据包的基于TCP/IP的协议,它在Apache和Tomcat的实例之间提供了一个专用 ...

  8. Tomcat Connector(BIO, NIO, APR)三种运行模式(转)

    Tomcat支持三种接收请求的处理方式:BIO.NIO.APR . BIO 阻塞式I/O操作即使用的是传统 I/O操作,Tomcat7以下版本默认情况下是以BIO模式运行的,由于每个请求都要创建一个线 ...

  9. Tomcat 8(十)HTTP/AJP Connector、Bio/Nio/Apr性能对照

    Tomcat 8(七)解读Bootstrap介绍过,Connector初始化/启动的时候,将初始化/启动内部的ProtocolHandler.事实上ProtocolHandler仅仅是个接口 Prot ...

随机推荐

  1. 使用Bootstrap 3开发响应式网站实践07,页脚

    页脚部分比较简单,把一个12列的Grid切分. <footer> <div class="container"> <div class="r ...

  2. UIView 精要概览(持续更新)

    --1-- 知识点:为UIView 设置圆角 前提:layer 属性需要 <QuartzCore/QuartzCore.h> 静态库的支持,所以需要提前导入到项目中,并在你的文件中包含#i ...

  3. Java String和Date的转换 Date类型操作

    String—>Date String dateString = "2012-12-06 "; try { SimpleDateFormat sdf = new Simple ...

  4. 【docker-compose】使用docker-compose启动spring-boot+mysql,服务内连数据库报错:create connection SQLException, url: jdbc:mysql://mysql:33061/swapping?useSSL=false&useUnicode=true&characterEncoding=UTF-8, errorCode 0,

    完整配置在这里, https://www.cnblogs.com/sxdcgaq8080/p/10070948.html 启动报错如下: 2018-12-05 01:04:05.569 ERROR 1 ...

  5. 高效率Oracle SQL语句

    1.Where子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句. 根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句 ...

  6. 一直困扰设计师多年的Android 单位 dp

    轻松理解Android开发单位DP ,让设计与开发高度匹配,整合了网上各大资料汇总一个通俗易懂的. 一直困扰设计师多年的Android 单位 dp 设计这么多年了,相信很多设计师,一直被DP搞得晕头转 ...

  7. maven依赖信息获取

    1.mvn dependency:analyze 首先是"Used declared dependencies found",指项目中使用到,但是没有显示声明的依赖,如果有的话,需 ...

  8. 【BZOJ】【2694】Lcm

    数论/莫比乌斯反演/线性筛 题解:http://www.cnblogs.com/zyfzyf/p/4218176.html JZPTAB的加强版?感觉线性筛好像还是不怎么会啊……sad 题目记下来,回 ...

  9. [19] 半球形(Hemisphere)图形的生成算法

    顶点数据的生成 bool YfBuildHemisphereVertices ( Yreal radius, Yuint slices, Yuint stacks, YeOriginPose orig ...

  10. [置顶] 自定义的解压进度条 关于ProgressBar的使用

    整体布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...