tomcat配置优化

目录

一、Connector配置

一、accept-count:最大等待数

二、maxConnections:最大连接数

三、maxThreads:最大线程数

四、connectionTimeout 连接超时

五、minProcessors 服务器创建时的最小处理线程数

六、maxProcessors 服务器同时最大处理线程数

七、URIEncoding URL统一编码

八、maxIdleTime: 最大空闲时间

二、Tomcat的高效配置

一、Connector配置

tomcat的配置文件conf/server.xml 中maxConnections、maxThreads、acceptCount的具体含义是什么呢?参考官方文档,对三者的含义说明如下:

一、accept-count:最大等待数

官方文档的说明为:当所有的请求处理线程都在使用时,所能接收的连接请求的队列的最大长度。当队列已满时,任何的连接请求都将被拒绝。accept-count的默认值为100。
详细的来说:当调用HTTP请求数达到tomcat的最大线程数时,还有新的HTTP请求到来,这时tomcat会将该请求放在等待队列中,这个acceptCount就是指能够接受的最大等待数,默认100。如果等待队列也被放满了,这个时候再来新的请求就会被tomcat拒绝(connection refused)。

二、maxConnections:最大连接数

官方文档的说明为:

这个参数是指在同一时间,tomcat能够接受的最大连接数。对于Java的阻塞式BIO,默认值是maxthreads的值;如果在BIO模式使用定制的Executor执行器,默认值将是执行器中maxthreads的值。对于Java 新的NIO模式,maxConnections 默认值是10000。
对于windows上APR/native IO模式,maxConnections默认值为8192,这是出于性能原因,如果配置的值不是1024的倍数,maxConnections 的实际值将减少到1024的最大倍数。
如果设置为-1,则禁用maxconnections功能,表示不限制tomcat容器的连接数。
maxConnections和accept-count的关系为:当连接数达到最大值maxConnections后,系统会继续接收连接,但不会超过acceptCount的值。

三、maxThreads:最大线程数

每一次HTTP请求到达Web服务,tomcat都会创建一个线程来处理该请求,那么最大线程数决定了Web服务容器可以同时处理多少个请求。maxThreads默认200,肯定建议增加。但是,增加线程是有成本的,更多的线程,不仅仅会带来更多的线程上下文切换成本,而且意味着带来更多的内存消耗。JVM中默认情况下在创建新线程时会分配大小为1M的线程栈,所以,更多的线程异味着需要更多的内存。线程数的经验值为:1核2g内存,线程数经验值200;4核8g内存,线程数经验值800。

四、connectionTimeout 连接超时

connectionTimeout 连接超时 ,网络连接超时,假设设置为0表示永不超时,这样设置隐患巨大,通常可设置为30000ms,默认60000ms。

五、minProcessors 服务器创建时的最小处理线程数

minProcessors 服务器创建时的最小处理线程数 ,用于提高系统处理性能,默认值为 10

六、maxProcessors 服务器同时最大处理线程数

maxProcessors 服务器同时最大处理线程数 ,即:并发处理的最大请求数,默认值为 75

七、URIEncoding URL统一编码

八、maxIdleTime: 最大空闲时间

maxIdleTime: 最大空闲时间,超过这个空闲时间,且线程数大于minSpareThreads的,都会被回收,默认值1分钟

二、Tomcat的高效配置

明白了 Tomcat的maxConnections、maxThreads、acceptCount三大配置之后,可以通过修改conf/server.xml配置文件来改变这三个值,一个标准的示例如下

<Connector
        port="8081"
        protocol="HTTP/1.1"
        connectionTimeout="30000"
        redirectPort="8443"
        maxThreads="800"
        minSpareThreads="300"
        maxSpareThreads="800"
        acceptCount="800"  
        compression="on"
       compressionMinSize="2048"
/>

三、参考

tomcat的maxConnections、maxThreads、acceptCount_tomcat maxthreads_妙明元心的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值