Tomcat Connector配置详解

JAVA herman 1534浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

使用JMeter、LoadRunner在做大并发测试时,详细的研究了Connector各大参数的配置详解,在这里特意分享如下:

maxThreads="1000" 最大并发数 
minSpareThreads="100" 初始化时创建的线程数
maxSpareThreads="500" 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100,指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
compression="on" 打开压缩传输功能,取值on/off/force,默认值off。force表示所有情况下都进行压缩
compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB
noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
compressableMimeType="text/html,text/xml,text/javascript,image/gif,image/jpg"压缩类型
keepAliveTimeout 长连接最大保持时间(毫秒)。
maxKeepAliveRequests 最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。一般设置在100~200之间)
maxHttpHeaderSize – http请求头信息的最大程度,超过此长度的部分不予处理。一般8K。
URIEncoding – 指定Tomcat容器的URL编码格式。
disableUploadTimeout – 上传时是否使用超时机制
bufferSize 输入流缓冲大小,默认值2048 bytes
allowTrace:是否允许HTTP的TRACE方法,默认为false
emptySessionPath:如果设置为true,用户的所有路径都将设置为/,默认为false。
protocol:值必须为HTTP1.1,如果使用AJP处理器,该值必须为AJP/1.3
proxyName:如这个连接器正在一个代理配置中被使用,指定这个属性,在request.getServerName()时返回
redirectPort:如连接器不支持SSL请求,如收到SSL请求,Catalina容器将会自动重定向指定的端口号,让其进行处理。
scheme:设置协议的名字,在request.getScheme()时返回,SSL连接器设为”https”,默认为”http”
secure:在SSL连接器可将其设置为true,默认为false
useBodyEncodingForURI:主要用于Tomcat4.1.x中,指示是否使用在contentType中指定的编码来取代
port:服务端套接字监听的TCP端口号,默认值为8080(必须)
socketBuffer:设Socket输出缓冲区的大小(以字节为单位),-1表示禁止缓冲,默认值为9000字节
toNoDelay:为true时,可以提高性能。默认值为true
threadPriority:设JVM中请求处理线程优先级。默认值为NORMAL-PRIORITY

以上配置都是在server.xml中配置的,如果想要做到最有,最好在配合调整JVM内存,Windows下配置如下:

set JAVA_HOME=C:\JAVA\JDK15
set CATALINA_OPTS=-server -Xms 1400m -Xmx1400m -XX:PermSize=256m -XX:MaxPermSize=256m

在做压力测试的同时还可以访问你的http://localhost:8080/manager进行性能监视,也可以使用我之前写过的一篇文章中用到的VisualVM进行内存、CPU、线程、堆栈进行监控,文章地址:http://www.xttblog.com/?p=200

当然这些配置不一定对你们就起作用,具体还是要看系统的性能配置以及相关的业务,所以希望大家能够做到活学活用!
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » Tomcat Connector配置详解