Tomcat有两种主要的Http Connector
org.apache.coyote.http11.Http11Protocol
支持参数:maxThreads,minSpareThreads,maxSpareThreads,acceptCount
org.apache.coyote.http11.Http11NioProtocol
支持参数:maxThreads
后者加入了Nio的运用,据说能提升性能
为了验证效果,粗略进行了测试,方法:
1)新建测试Servlet,其中做100,000,000次空循环
2)测试程序对测试Servlet同时发起一定数量的Http请求,看请求的成功率
3)调整参数和请求数量进行多轮测试,比较测试结果
测试结果:
1)Http11Protocol
并发请求从200逐步增加至1000。
在并发500以下的阶段时,在运行稳定后还是可以达到较高的请求成功率(90以上),但需要对应调高参数,如在并发500时,maxThreads=500,acceptCount=166
在并发500以上的阶段时,并发数再继续增加,成功率会明显下降,报大量“拒绝连接”错误;即使调高参数,效果并不明显。
在并发1000阶段,maxThreads=500,acceptCount=166,运行稳定后成功率大概在80
在并发1000以上阶段,很容易出现OutOfMemory错误(没有调大JVM内存,估计是
Socket连接不断增加,有没有及时释放)
2)Http11NioProtocol
并发数一直增加至1500,成功率都很高(接近100)。而且当前线程数基本维持在100-200水平,并没有随着并发数的增加而成比例增加;测试完后,可以很快看到线程数很快下降;内存也没有出现错误。
初步来看,Http11Protocol应对大并发量还是力不从心;Http11NioProtocol的优化效果则较明显,运行稳定、有效率且资源控制得较好。可进一步在实际环境中应用,在深入分析。
测试环境:
OS: Win7 32bit
Tomcat:6.0.26
RAM: 4G
CPU: P8700
分享到:
相关推荐
iis、tomcat、apache整合工具。tomcat_iis_connector WINDOWS SERVER
请注意版本号和系统位数
jakarta-tomcat connector linux环境
tomcat_iis_connector目录下 修改conf\workers.properties.minimal,增加一行tomcat的位置即可
它又分为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
一个用eclipse结合tomcat工具,进行网页登录测试的demo。核心在于struct-config.xml.
Tomcat详细配置和测试介绍 介绍如何配置Tomcat并测试配置是否正确
Myeclipse中Tomcat的两种部署方
Myeclipse中Tomcat的两种部署方式
Connector 用于接收请求并将请求封装成Request 和Response 来具体处理,最底层是使用Socket 来进行连接的, Request 和Response 是按照HTTP 协议来封装的,所以Connector 同时实现了TCP/IP 协议和HTTP 协议, ...
可以下载的视频,可以下载的视频,可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频可以下载的视频...
omcat9.0.34+mysql-connector-java-8.0.19匹配的版本,不在烦恼版本兼容问题,有用请点赞
Myeclipse中Tomcat的项目两种部署方式
Apache2.4+Tomcat8.0集群安装--测试项目。集群配置地址为:
tomcat连接池的配置与性能测试
tomcat三种部署方法,以及它们的各自的优缺点和参数配置
tomcat,jetty,undertow性能测试.xlsx
简单的 简单的 tomcat集群测试