Tomcat中Connector常用配置

accept-count
含义:所有的处理线程都在使用时,传入连接请求的最大队列长度,当队列满时收到的任何请求都将被拒绝。
默认值:100

max-connections
含义:服务器在任何给定时间接收和处理的最大连接数。当达到这个数字时,服务器将接收一个连接但是不处理。这个附加连接将被阻塞,直到正在处理的连接数降到maxConnections以下,服务器再次开始接收并重新处理新的连接。
一旦达到限制,操作系统仍然可以结束基于acceptCount设置的连接数。如果超过max-connections + acceptCount 个连接,新的连接将被拒绝。
默认值:10000

max-swallow-size
含义:Maximum amount of request body to swallow.
将由Tomcat吞下上传失败的最大请求体字节数(不包括传输编码开销)。 上传失败是当Tomcat知道请求的身体将被忽略但客户仍将其发送。 如果Tomcat不吞下请求体,客户不太可能看到响应。 如果没有指定默认将使用2097152(字节)。 小于0的值表明没有限制应该被强制执行。
默认:2M byte

max-threads
含义:连接器同一个时刻最大的工作线程数,因此可以确定可以处理的最大并发请求数。
默认:200

min-spare-threads
含义:连接器同一个时刻最少的工作线程数,线程池中保持活跃的的线程最小数量。
默认:10

connection-timeout
含义:连接器接收连接后等待第一个请求数据到达的最大时间,只对连接后的第一个请求数据有效,相当于建立连接后第一次等待客户端发送请求的时间,之前客户端发送数据的间隔时间跟这个配置无关。
当client与tomcat建立连接后,在connection-time时间内仍热没有得到client请求数据,此时连接将会被断开。

此值的设定需要考虑到网络的稳定性,同时也有性能的考虑,它和tcp的配置项中的socket_timeout仍有区别,connectionTimeout之后在连接建立之后,得到client发送http-request信息前有效,sokect_timeout是服务端返回数据的最大响应时间。
默认:60s
keepAliveTimeout
含义:连接空闲时间。连接器在关闭连接前等待另一个http请求的毫秒数。默认值是使用connection-timeout属性设置的值。设置-1表示空闲时间无穷大。
默认:60s

maxHeaderCount
含义:http请求中的header的最多的参数个数,默认100。-1表示不限制,通常不会关注此属性,但是一下设计“扭曲”的web应用中,使用header传递大量的参数和校验信息时,可能需要调整此值。如果请求中的header个数超过此限定值,请求将会被拒绝。
默认:100

maxParameterCount
含义:http-get请求找那个允许传递的参数最大个数。
可以通过tomcat设置合适的值,parameter个数越多,事实上对tomcat的内存开支越大,很多时候处于安全或者实用的角度考虑,maxParameterCount的值都不会太大,-1表示无限制,如果请求中参数个数超过限定值,请求将被拒绝。
为了安全和规范,maxHeaderCount和maxParamterCount通常设置为100;如果请求参数过多,建议实用post body发送或者拆分请求。
默认:10000

maxPostSize(max-http-post-size)
含义:http-post请求中数据(body)的最大尺寸,单位byte,默认为2M。这对一些表单提交(较多文本或者图片)有影响。可以适度调整此值,大文件上传一般会在client拆分成小文件在发送,而不是直接发送。
默认:2M byte

bufferSize
含义:链接在读取stream数据流时,buffer数据的尺寸,控制的是输入缓冲区大小。
Connector创建的输入流的大小,默认值是2048 bytes,提高这个值可以提升性能,但是会增加内存消耗。
默认:2k byte

socketBuffer
含义:缓冲区的大小(以字节为单位)套接字提供输出缓冲,控制的是输出缓冲区的大小。-1可以禁用指定缓冲区的使用。默认情况下,将使用9000字节的缓冲区。
默认:9000 byte

acceptorThreadCount
含义:表示用于accept作用,接收新连接的线程个数,如果在多核cpu架构下,此值可以设置为2,官方不建议设置超过2的值。
默认:1

maxHttpHeaderSize
含义:http头最大尺寸,默认为8192,单位为字节。
默认:8192 byte

protocol
使用的网络协议,表示tomcat使用何种方式来接受和处理client端请求,“HTTP/1.1"是默认值,等效于"org.apache.coyote.http11.Http11Protocol”;还有熟悉的"AJP/1.3";关于HTTP和AJP两种方式的区别和性能优劣可以参见其他文档.
在Tomcat 6.0之后,还提供了NIO的方式,可以有效的提升性能,特别是在大量长连接/数据上传+下载等web应用中.此时portocal=“org.apache.coyote.http11.Http11NioProtocol”.
tomcat目前支持:BIO、NIO、NIO2、APR四种IO模型,默认为BIO。对于互联网应用,我们应该在NIO、NIO2之间做选择,因为它能够有效的提升性能(主要是并发能力),其中NIO2即为AIO,需要JDK 1.7+、Linux 2.6+才能支持。
BIO:JDK 1.5+,tomcat 5.x+
NIO:JDK 1.6+,tomcat 6.x+
NIO2:JDK 1.7+,tomcat 7.x+
为了保守起见,我们暂且基于NIO模式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值