- 浏览: 177884 次
- 性别:
- 来自: 上海
文章分类
最新评论
今天在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
具体内容如下:
<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
发表评论
-
Jetty项目简介
2016-11-07 11:28 407jetty是一个开源、基于标准、全功能实现的Java服务器。它 ... -
windows7 64位下git和tortoisegit的安装和使用
2016-09-08 11:35 1498git https://github.com/git-for- ... -
ActiveMQ的集群多种部署方式
2016-08-15 16:56 641ActiveMQ的多种部署方式 ... -
待查看
2016-08-02 09:41 3631tair 2 tddl 3hsf 4 分库分表 pmd ... -
redis 原理
2016-07-10 14:50 7901 什么是redis redis是一个key-value存储 ... -
mybatis 帮助文档
2016-04-22 11:01 430http://www.mybatis.org/mybatis- ... -
Zabbix 监控
2016-04-11 09:54 362 -
jvm实时监控工具
2016-04-09 09:35 411 -
redis学习(java调用方式)
2016-04-07 17:56 443【redis数据结构 – 简介 ... -
SonarQube代码质量管理平台安装与使用
2016-03-21 16:13 451代码质量管理工具 http://blog.csdn.net/h ... -
jboss web服务器
2016-03-17 14:15 350 -
cat监控
2016-03-16 15:22 421 -
activeMq分发策略,请求应答
2016-02-16 10:41 662 -
Eclipse下使用TODO的方法
2016-01-22 13:48 751下面是在Eclipse下使用TODO的方法。 ------- ... -
zookeeper
2015-12-07 20:29 390zookeeper -
Xshell会话共享实现多台服务器同步操作
2015-11-30 17:50 24271. 打开终端Xshell, 菜单栏View -> 勾 ... -
Tomcat出现 PermGen space解决方案
2015-06-10 16:06 294PermGen space的全称是Permanent Gene ... -
eclipse 代码注释项
2015-06-09 09:03 435comments files:新建文件时候的文件注释,在pac ... -
跨数据库事务研究
2015-05-12 11:16 828两种方案: 1、分布式 ... -
nginx
2015-04-22 11:03 427一、Nginx反向代理 正向 ...
相关推荐
jakarta-tomcat connector linux环境
Http Connector, 基于HTTP协议,负责建立HTTP连接。它又分为BIO Http Connector与NIO Http Connector两种,后者提供非阻塞IO与长连接Comet支持。 AJP Connector, 基于AJP协议,AJP是专门设计用来为tomcat与http...
iis、tomcat、apache整合工具。tomcat_iis_connector WINDOWS SERVER
Http协议和tomcat
Tomcat7性能优化调优Tomcat7性能优化调优Tomcat7性能优化调优
基于HTTP协议的WEB服务器,简易版的Tomcat.服务端读取配置文件完成对服务 器的初始化,并通过Socket网络编程架构服务器端.浏览器作为客户端,向服务器发送请求.服务端接受请求并将其封装为一个HTTPRequest对象,并对其...
Tomcat 开启基于https的SSL配置
通过优化tomcat提高网站的并发能力。服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。
Tomcat服务器Http协议通信,一个小demo,适合刚刚接触安卓HTTP协议的新手。
Http Connector, 基于HTTP协议,负责建立HTTP连接。它又分为BIO Http Connector与NIO Http Connector两种,后者提供非阻塞IO与长连接Comet支持。 AJP Connector, 基于AJP协议,AJP是专门设计用来为tomcat与http...
本人电脑上已经配置好的相关配置文件 ...tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip httpd.conf server.xml(tomcat) mod_jk.conf uriworkermap.properties vhosts.conf workers.properties
Tomcat性能调优方案,tomcat集群,tomcat配置 三、Apache集成Tomcat Web服务器专门处理HTTP请求,应用服务器是通过很多协议为应用提供商业逻辑。虽然Tomcat也可以作web服务器,但其处理静态html的速度比不上Apache...
请注意版本号和系统位数
Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议 视频教程+笔记+课件+资料 虽然在课程中还讲解了部分HTTP协议的技术,但是课程的重点还是NGINX、JVM、Tomcat三相运维与配置技术。课程内容包括了Nginx进阶...
在Tomcat和应用程序进行了压力测试后,如果您对应用程序的性能结果不太满意,就可以采取一些性能调整措施了,当然了前提是应用程序没有问题,tomcat性能调优总结,欢迎下载
tomcat7 优化 性能调优,优化tomcat的配置,修改启动模式,开启并且使用线程池,JVM优化,图文说明
Tomcat & Http协议
tomcat性能调整详细介绍,tomcat性能优化介绍
Tomcat性能优化.rar Tomcat性能优化.rar