Tomcat的四种基于HTTP协议的Connector性能比较

转载 2018年04月17日 11:13:29

Tomcat的四种基于HTTP协议的Connector性能比较

今天在osc上看到对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。

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

 

复制代码
<Connector
executor="tomcatThreadPool"
port="8090"
redirectPort="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
compression="on"
compressionMinSize="2048"
enableLookups="false"
acceptCount="1000"
URIEncoding="UTF-8"
connectionTimeout="40000" />
复制代码

连接器使用的线程池的名子:executor="tomcatThreadPool" 
连接器端口                        :port="8090" 
连接器使用的传输方式      :protocol="org.apache.coyote.http11.Http11NioProtocol" 
传输时是否支持压缩          :compression="on" 
压缩的大小                        :compressionMinSize="2048"

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
        maxThreads="800" minSpareThreads="400" maxSpareThreads="700"/>

线程池名:           name="tomcatThreadPool" 
线程前缀:           namePrefix="catalina-exec-"
最大产生线程数:maxThreads="800"

最小初始现程数:minSpareThreads="400" 

最大初始现程数:minSpareThreads="700"

原文章地址:https://www.cnblogs.com/sunxucool/archive/2013/07/31/3227366.html

Tomcat6 四种Connector性能比较

Tomcat从5.5版本开始,支持以下四种Connector的配置分别为: org.apache.coyote.http11.Http11NioProtocol"connectionTimeout="...
  • tianwei7518
  • tianwei7518
  • 2015-02-27 20:34:35
  • 1011

Tomcat处理HTTP请求 详解Connector模块

Tomcat处理HTTP请求 详解Connector模块 2011年12月20日10:44 来源:InfoQ 作者:张华 编辑:皮丽华 评论:0条         【IT168 技术】...
  • chengc017
  • chengc017
  • 2011-12-21 09:41:07
  • 1065

Tomcat 8的Connector部分

在Tomcat 8中,Connector负责处理客户端的连接请求,其核心实现在EndPoint类中。EndPoint中定义了Acceptor来接收客户端的socket,并将socket交给Poller...
  • jiangjiajian2008
  • jiangjiajian2008
  • 2016-09-27 00:40:42
  • 1679

Tomcat处理HTTP请求:Connector源码

第1页:   【IT168技术】很多开源应用服务器都是集成tomcat作为web container的,而且对于tomcat的servlet container这部分代码很少改动。这样,这些应用...
  • cao478208248
  • cao478208248
  • 2014-10-13 21:00:44
  • 749

Tomcat7-Connector(连接器)学习

comment:本文基于Tomcat7.0.68Connector作用定位 源码内部实现 Connect类图关键属性和方法 协议处理器 Connector构造方法 Connector工作流程 初始化和...
  • cx520forever
  • cx520forever
  • 2016-09-04 20:41:45
  • 2322

Tomcat启动报错 Failed to initialize connector [Connector[HTTP/1.1-8080]]

清早上班,开机后运行服务,我的tomcat服务的端口是8080,结果服务报错! 2016-5-17 10:27:14 org.apache.coyote.http11.Http11AprProtoc...
  • lvyanfen6
  • lvyanfen6
  • 2016-05-17 10:34:49
  • 21994

Tomcat配置https协议、以及http协议自动REDIRECT到HTTPS

在命令提示符窗口,进入Tomcat目录,执行以下命令:  keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass...
  • chow__zh
  • chow__zh
  • 2013-04-24 11:04:52
  • 26152

Tomcat中Connector常用配置

Tomcat中Connector常用配置     Tomcat中server.xml有些配置信息是需要我们了解的,最起码知道如何进行简单的调试.       默认情况下配置信...
  • shipeng22022
  • shipeng22022
  • 2014-07-31 14:42:10
  • 17768

Tomcat的HTTP和AJP连接器

在tomcat的server.xml文件中可以找到如下几个connector
  • u010297957
  • u010297957
  • 2016-03-02 18:51:45
  • 7680

Tomcat源码阅读系列(四)Connector连接器

Tomcat源码阅读系列(四)Connector连接器
  • yangzl2008
  • yangzl2008
  • 2015-05-29 09:19:56
  • 1999
收藏助手
不良信息举报
您举报文章:Tomcat的四种基于HTTP协议的Connector性能比较
举报原因:
原因补充:

(最多只允许输入30个字)