1.连接器等同于nginx中的引擎。

2.tomcat连接器有三种运行模式bio、nio、apr 。

(1)bio(blocking I/O,阻塞式I/O操作) 

1)表示tomcat使用的是传统的java I/O操作(即java.io包及其子包)。

2)一个线程处理一个请求。

3)缺点:并发量高时,线程数较多,浪费资源。

4)tomcat7或以下版本,在Linux系统中默认使用这种方式。

5)性能最差,没有经过任何优化处理和支持。 

(2)nio(non-blocking I/O)

1)java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。

2)java nio 是一个基于缓冲区、并能提供非阻塞I/O操作的java API。

3)拥有比传统I/O操作更好的并发运行性能。

4)利用java的异步IO处理,可以通过少量的线程处理大量的请求。

5)tomcat8在linux系统中默认使用这种方式。 

(3)apr(apache Portable Runtime /Nginx可移植运行时库)

 1)tomcat将以JNI的形式调用apache http服务器的核心动态链接库来处理文件读取或网络传输操作。

 2)大大提到tomcat对静态文件的处理性能。

 3)从操作系统级别来解决异步的IO问题,大幅度提高性能。

 4)tomcat apr也是tomcat上运行高并发应用的首选模式。

3.调整为nio模式,需修改配置文件 server.xml

修改以下内容

    <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
/>

修改为

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
/>

4.调整为apr模式

(1)安装apr和native

 yum -y install apr apr-devel

 cd /usr/local/tomcat/bin/
tar xzvf tomcat-native.tar.gz
cd tomcat-native-1.1.-src/native/
./configure --with-apr=/usr/bin/apr--config
make && make install

(2)设置环境变量

  1)第一种方式:在bin/catalina.sh中增加以下配置

增加以下内容

  2)第二种方式:在/etc/profile中添加以下内容

exprot CATALINA_OPTS=-Djava.library.path=/usr/local/apr/lib

source /etc/profile

(3)修改配置文件

  1)修改以下内容

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"

  2)修改为

  <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"

Tomcat连接器详解的更多相关文章

  1. TOMCAT原理详解及请求过程(转载)

    转自https://www.cnblogs.com/hggen/p/6264475.html TOMCAT原理详解及请求过程 Tomcat: Tomcat是一个JSP/Servlet容器.其作为Ser ...

  2. tomcat配置文件详解

    Tomcat系列之服务器的安装与配置以及各组件详解   tomcat 配置文件详解

  3. tomcat 日志详解

    1 tomcat  日志详解 1.1  tomcat 日志配置文件 tomcat 对应日志的配置文件:tomcat目录下的/conf/logging.properties. tomcat 的日志等级有 ...

  4. [svc]tomcat配置文件详解

    Tomcat系列之服务器的安装与配置以及各组件详解 tomcat 配置文件详解 tomcat安全管理规范

  5. tomcat日志详解

    1 tomcat 日志详解 1.1 tomcat 日志配置文件 tomcat 对应日志的配置文件:tomcat目录下的/conf/logging.properties. tomcat 的日志等级有:日 ...

  6. Tomcat使用详解

    Tomcat简介 官网:http://tomcat.apache.org/ Tomcat GitHub 地址:https://github.com/apache/tomcat Tomcat是Apach ...

  7. tomcat使用详解(week4_day2)--技术流ken

    tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发 ...

  8. Tomcat——Tomcat使用详解

    Tomcat简介 官网:http://tomcat.apache.org/ Tomcat GitHub 地址:https://github.com/apache/tomcat Tomcat是Apach ...

  9. [svc]tomcat配置文件详解-最简单的基于mvn的war包

    tomcat安全管理规范 java&tomcat配置参考(多看看这位大牛的博客,写的很好) Tomcat系列之Java技术详解 http://blog.51cto.com/freeloda/1 ...

随机推荐

  1. RocketMQ 消息发送system busy、broker busy原因分析与解决方案

    目录 1.现象 2.原理解读 2.1 RocketMQ 网络处理机制概述 2.2 pair.getObject1().rejectRequest() 2.3 漫谈transientStorePoolE ...

  2. Kettle(6.0) 参数方式连接数据库

    数据库连接条件(视自己实际情况而定) 数据库: Oracle 主机名称(IP): localhost 或 127.0.0.1 数据库名称(SID):MYORCL 端口号: 1521 用户名: scot ...

  3. 史上最全 Java 中各种锁的介绍

    更多精彩原创内容请关注:JavaInterview,欢迎 star,支持鼓励以下作者,万分感谢. 锁的分类介绍 乐观锁与悲观锁 锁的一种宏观分类是乐观锁与悲观锁.乐观锁与悲观锁并不是特定的指哪个锁(J ...

  4. [AspNetCore 3.0 ] Blazor 服务端组件 Render, RenderFragment ,RenderTreeBuilder, CascadingValue/CascadingParameter 等等

    一.组件 支撑Blazor的是微软的两大成熟技术,Razor模板和SignalR,两者的交汇点就是组件.通常,我们从ComponentBase派生的类型,或者创建的.razor 文件,就可以称作组件. ...

  5. Spring mvc之源码 handlerMapping和handlerAdapter分析

    Spring mvc之源码 handlerMapping和handlerAdapter分析 本篇并不是具体分析Spring mvc,所以好多细节都是一笔带过,主要是带大家梳理一下整个Spring mv ...

  6. 水仙花数[js]

    const getNarcissisticNumbers = function (n) { let min = Math.pow(10, n - 1) - 1 let max = Math.pow(1 ...

  7. CSS3解决字母不换行的方法

    CSS3解决字母不换行的方法 <pre>word-wrap: break-word;</pre>

  8. SSM整合相关试题

    1.下列关于Spring自动装配的说法中,错误的是() A 在Spring配置文件中,可以通过<bean>元素的autowire属性指定自动装配方式 B autowire属性值可以设置为n ...

  9. Java设计模式(20):命令模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.生活场景 1.场景描述 智能电脑的品牌越来越多,由此诞生了一款电脑控制的APP,万能遥控器,用户在使用遥控器的时候,可以切换为自家电视的品 ...

  10. lqb 基础练习 十六进制转十进制

    基础练习 十六进制转十进制 时间限制:1.0s   内存限制:512.0MB     问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~ ...