Tomcat并发数优化

本文详细介绍了如何通过调整maxThreads和acceptCount两个参数来优化Tomcat服务器的并发处理能力。当请求超过现有线程处理能力时,Tomcat会创建额外线程直至达到最大配置数量,若仍有更多请求则在服务器套接字内排队。文章提供了具体的配置示例,并提醒用户注意硬件配置的影响。

我们可以去Tomcat 的官网看一下相关的资料TOMCAT官网地址
在Connector的属性配置中,相关描述是这样的

If more simultaneous requests are received than can be handled by the currently available request processing threads, additional threads will be created up to the configured maximum (the value of the maxThreads attribute). If still more simultaneous requests are received, they are stacked up inside the server socket created by the Connector, up to the configured maximum (the value of the acceptCount attribute).

如果接收到的更多并发请求超过当前可用的请求处理线程可以处理的数量,则将创建高达配置的最大值(maxThreads属性的值)的其他线程。如果仍收到更多的同时请求,它们将在由连接器创建的服务器套接字内堆叠,直到配置的最大值(acceptCount属性的值)。

所以,配置Tomcat并发数只需要对maxThreadsacceptCount 两个参数做设置就可以了,文档中表示这两个默认值分别为200和100,可以增加这两个属性的值,并且使acceptCount大于等于maxThreads:

        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" 
                   port="8090" 
                   maxThreads="400"
                   minSpareThreads="25"
                   maxHttpHeaderSize="8192"
                   enableLookups="false" 
                   redirectPort="8443" 
                   acceptCount="500" 
                   debug="0" 
                   connectionTimeout="20000"
                   useURIValidationHack="false" 
                   URIEncoding="UTF-8"/>

需要注意的是,具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给 JVM 的内存越多性能也就越高,但也会加重 GC 的负担。在Linux系统中,每个进程中的线程数不允许超过 1000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值