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. Java自动化测试框架-08 - TestNG之并行性和超时篇 (详细教程)

    一.并行性和超时 您可以指示TestNG以各种方式在单独的线程中运行测试. 可以通过在suite标签中使用 parallel 属性来让测试方法运行在不同的线程中.这个属性可以带有如下这样的值: 二.并 ...

  2. js 面试题解析(一)

    1.call和apply的区别. 当需要传的参数是一个数组时,使用apply更加方便;而使用call时需要将数组展开,将数组中的每一项单独传入. 当需要传入的参数大于3个时,call的性能要略优于ap ...

  3. 《Effective Java》 读书笔记(二) 在构造参数过多的时候优先考虑使用构造器

    刚开始看见这个标题的时候,我想到了python可以选择初始化参数的语法,C++.C#能有默认参数. 为什么Java什么都没有~~ 好吧,我们是使用构造器来实现它. 1.当一个类的构造函数需要很多构造函 ...

  4. Java线程学习详解

    线程基础 1. 线程的生命周期 1.1 新建状态: 使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态.它保持这个状态直到程序 start() 这个线程. 1 ...

  5. CSPS模拟 79

    T1 建一颗新树,倍增 T2 WARNING:竞赛图如果有环,则最小环一定为三元环 (发现这个结论的这把都稳了) 然后三元环计数,发现部分分都是为了审出题意但是不会正解的人设的.. 由于对于任意一种方 ...

  6. NOIP模拟 25

    分层考试第一场. 垫底. T1 lighthouse 观察到m很小,想到容斥. 正常人都想枚举子集,只有我打了搜索. 为了压行,我压缩了几句分类讨论. 压错了,原地爆炸 考场思路: 不容斥这也不可做啊 ...

  7. 如何实现一个MVVM

    说一说我对于mvvm模型的理解吧 我第一次接触mvvm也是在学习vue的时候,在我看来vue和react都是数据驱动视图,但是vue属于标准的mvvm模型,react是从组件化演变而来 不多废话,直接 ...

  8. Java自动化测试框架-11 - TestNG之annotation与并发测试篇 (详细教程)

    1.简介 TestNG中用到的annotation的快速预览及其属性. 2.TestNG基本注解(注释) 注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执 ...

  9. Vue组件间通信方式到底有几种

    1. 前言 Vue的一个核心思想就是组件化.所谓组件化,就是把页面拆分成多个组件 (component),每个组件依赖的 CSS.JavaScript.模板.图片等资源放在一起开发和维护.组件是资源独 ...

  10. OI 经典诗歌

    键盘行 学校机房夜送客,枫叶蒟蒻秋瑟瑟.主人下马客在船,代码欲写无键盘.夜不AC惨将别,别时茫茫屏幕亮. 忽闻楼上键盘声,主人忘归客不发.寻声暗问敲者谁,键盘声停欲语迟.上楼相近邀相见,添酒回灯重开宴 ...