`

tomcat Connector NIO的配置

阅读更多
tomcat的server.xml中,有两种Connector。

首先介绍一下这两种Connector的作用。

<!-- Define a non-SSL Coyote HTTP/1.1  Connector on port 8080 -->
<Connector port="8080"
  maxThreads="150"
  minSpareThreads="25"
  maxSpareThreads="75"
  enableLookups="false"
  redirectPort="8443"
  acceptCount="100"
  debug="0"
  connectionTimeout="20000"
  disableUploadTimeout="true" />
  
<!-- Define a Coyote/JK2 AJP 1.3  Connector on port 8009 -->
<Connector port="8009"
  enableLookups="false"
  redirectPort="8443" debug="0"
  protocol="AJP/1.3" /> 


  第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。  
  第二个连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。

转载:http://blog.sina.com.cn/s/blog_5f5716580100lfav.html

下面说一下提高tomcat性能的NIO设置:
Tomcat的四种基于HTTP协议的Connector性能比较
<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol" 
               connectionTimeout="20000" redirectPort="8443"/>

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000"
               redirectPort="8443"/>

<Connector executor="tomcatThreadPool"
               port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

<Connector executor="tomcatThreadPool"
               port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="20000"
               redirectPort="8443" />



我们姑且把上面四种Connector按照顺序命名为 NIO, HTTP, POOL, NIOP

为了不让其他因素影响测试结果,我们只对一个很简单的jsp页面进行测试,这个页面仅仅是输出一个Hello World。假设地址是 http://tomcat1/test.jsp

我们依次对四种Connector进行测试,测试的客户端在另外一台机器上用ab命令来完成,测试命令为: ab -c 900 -n 2000 http://tomcat1/test.jsp ,最终的测试结果如下表所示(单位:平均每秒处理的请求数):



NIO HTTP POOL NIOP
281 65 208 365
666 66 110 398
692 65 66 263
256 63 94 459
440 67 145 363

由这五组数据不难看出,HTTP的性能是很稳定,但是也是最差的,而这种方式就是Tomcat的默认配置。NIO方式波动很大,但没有低于280 的,NIOP是在NIO的基础上加入线程池,可能是程序处理更复杂了,因此性能不见得比NIO强;而POOL方式则波动很大,测试期间和HTTP方式一样,不时有停滞。

由于linux的内核默认限制了最大打开文件数目是1024,因此此次并发数控制在900。

尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题。但对我们在部署网站应用时还是具有参考价值的。

转载:http://www.oschina.net/question/54100_16195
分享到:
评论

相关推荐

    tomcat服务参数配置

    ### Tomcat服务参数配置详解 #### 一、Tomcat简介及安装 Tomcat是一款开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它实现了对Servlet和JavaServer Pages (JSP)技术的支持,并提供了作为Web...

    JAVA_Tomcat面试专题14道.pdf

    本文将从面试专题中提取与Tomcat相关的知识点,涵盖Tomcat的端口修改、Connector运行模式、参数配置等方面。 一、Tomcat的缺省端口修改 Tomcat的缺省端口是8080,但可以根据需要修改为其他端口。修改步骤如下: 1...

    tomcat 1000/s 并发配置

    1. **配置Connector**: 在`server.xml`文件中,我们主要关注`&lt;Connector&gt;`元素。对于高并发,可以增加`maxThreads`属性,这是Tomcat可以同时处理的最大线程数。例如,可以设置为`maxThreads="2000"`以应对1000 QPS的...

    tomcat软件及配置方法

    在这个“tomcat软件及配置方法”中,我们将深入探讨Tomcat的安装过程和基本配置步骤。 首先,让我们从安装开始。在“安装方法.txt”中,通常会包含以下步骤: 1. **下载Tomcat**:你可以从Apache官方网站...

    TOMCAT 服务器的配置

    【TOMCAT 服务器配置详解】 Tomcat 是一个开源的、免费的 Java 应用服务器,主要用于运行基于 Servlet 和 JSP 的 Web 应用程序。它由 Apache 软件基金会开发并维护,是实现 Java EE(现为Jakarta EE)Web 组件规范...

    Tomcat面试专题及答案.pdf

    三、Tomcat Connector 的配置参数 Tomcat Connector 的配置参数包括: 1. maxThreads:Tomcat 使用线程来处理接收的每个请求。这个值表示 Tomcat 可创建的最大的线程数。默认值 200。 2. minSpareThreads:Tomcat ...

    Tomcat安装与配置要点和难点以及常见报错和解决方案.zip

    【标题】:Tomcat安装与配置要点和难点 在IT行业中,Apache Tomcat是一个广泛应用的开源Web服务器和Java Servlet容器,它实现了Java EE的Web部分,包括Servlet、JSP和WebSocket等规范。Tomcat的安装与配置是Java ...

    浅谈tomcat一些细节配置

    - Tomcat提供了多种连接器类型,如NIO、APR/Libapr等。根据具体需求选择合适的连接器,可以优化I/O性能。 12. **资源池(Pooling)**: - 对于数据库连接等资源,可以通过JNDI配置连接池,提高资源利用率,减少连接...

    59-Spring Boot内嵌Tomcat配置1

    内嵌的 Tomcat 容器是 Spring Boot 默认的 Web 服务器,使得我们可以无需额外配置即可运行 Java Web 应用。在本篇文章中,我们将探讨如何对 Spring Boot 内嵌的 Tomcat 进行个性化配置。 首先,Spring Boot 提供了 ...

    tomcat源码分析1

    《深入理解Tomcat源码分析1:Connector配置详解》 Tomcat,作为广泛使用的Java Servlet容器,其核心组件之一就是Connector,它负责处理Web服务器与客户端之间的通信。本篇文章将详细探讨Tomcat Connector的种类、...

    Tomcat面试题 14道.pdf

    本文将对 Tomcat 面试题进行解析,涵盖 Tomcat 的基础知识、配置文件、Connector 运行模式、部署方式、Servlet 实例创建原理等多个方面。 一、Tomcat 的基础知识 Tomcat 是一个基于 Java 语言的开源 Web 服务器,...

    tomcat配置 连接数(优化)

    1. **配置`server.xml`**:这是Tomcat的主要配置文件,其中包含`Connector`元素,用于定义HTTP连接器。你可以在这里设置最大连接数(`maxConnections`),例如: ```xml &lt;Connector port="8080" protocol=...

    apr库(tomcat优化)

     Tomcat源码中与connector相关的类位于org.apache.coyote包中,Connector分为以下几类:  Http Connector, 基于HTTP协议,负责建立HTTP连接。它又分为BIO Http Connector与NIO Http Connector两种,后者提供非阻塞...

    服务器Tomcat面试题

    Tomcat Connector 运行模式还可以通过以下参数进行配置: * protocol:指定 Connector 使用的协议,例如 HTTP/1.1、org.apache.coyote.http11.Http11NioProtocol 等。 * redirectPort:指定 HTTPS 连接的端口号。 *...

    关于tomcat的配置

    本文将深入探讨Tomcat的配置,帮助读者理解如何优化和管理自己的Tomcat服务器。 首先,我们来看Tomcat的主配置文件——`server.xml`。这个文件位于Tomcat安装目录下的`conf`目录中,是整个Tomcat服务器的核心配置。...

    NIOweb服务器

    在实际部署中,可以通过调整Tomcat的`server.xml`配置文件来启用NIO模式,例如设置`Connector`元素的`protocol`属性为`org.apache.coyote.http11.Http11NioProtocol`。此外,还可以配置连接池大小、选择器线程数、...

    架构师面试题系列之Tomcat面试专题及答案(19题).docx

    Tomcat 的 Connector 运行模式有 bio、nio 和 apr 三种: * bio 模式:传统的 Java I/O 操作,同步且阻塞 IO。 * nio 模式:JDK1.4 开始支持,同步阻塞或同步非阻塞 IO。nio 模式可以提高服务器的性能和可扩展性。 ...

    Tomcat7性能优化

    从Tomcat 7开始,可以通过修改`server.xml`中的`Connector`配置来启用NIO模式: ```xml &lt;Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" ...

    【高并发】高并发环境下如何优化Tomcat性能?看完我懂了!

    写在前面 Tomcat作为最常用的Java Web服务器,随着并发量越来越...要想运行在该模式下,则直接修改server.xml里的Connector节点,修改protocol为如下配置。 protocol=org.apache.coyote.http11.Http11NioProtocol 重启

    tomcat7源码下载

    Tomcat采用NIO(非阻塞I/O)或BIO(阻塞I/O)模型,Coyote连接器负责这部分实现。NIO模型在高并发环境下表现出色,因为它可以处理大量并发连接,而无需为每个连接创建新线程。 四、Tomcat7的部署与管理 Tomcat7...

Global site tag (gtag.js) - Google Analytics