• Tomcat线程池配置


    以Tomcat8.5为例,HTTP1.1

    官方文档配置地址

    https://tomcat.apache.org/tomcat-8.5-doc/config/http.html

    <Connector port="8080" acceptCount="100" maxConnections="200" minSpareThreads="10"
               maxThreads="200"/>
    
    • acceptCount:请求等到队列大小。当Tomcat没有空闲线程处理连接请求时,新来的链接请求将放入等待队列,默认为100。当队列超过acceptCount后新连接将被拒绝。

    • maxConnections:Tomcat能处理的最大并发连接数.当超过后还会接收连接并放入等待队列(acceptCount控制),连接会等待,不能被处理。BIO默认是maxThreads. 对于NIO和NIO2,默认值为10000。对于APR /native,默认值为8192。

      仅对于NIO / NIO2,将该值设置为-1将禁用maxConnections功能,并且不计算连接数。

    • minSpareThreads:线程池最小线程数,默认为10。该配置指定线程池可以维持的空闲线程数量。(始终保持运行状态的最小线程数。 这包括活动线程和空闲线程。 如果未指定,则使用默认值10。 如果执行程序与此连接器相关联,则此属性将被忽略,因为连接器将使用执行程序而不是内部线程池执行任务。 请注意,如果配置了执行程序,则将正确记录为此属性设置的任何值,但会将其报告为(例如,通过JMX)-1,以表明未使用该值。)

    • maxThreads:线程池最大线程数,默认为200。当线程池空闲一段时间后会解释放到只保留minSpareThreads个线程。

    举例,假设maxThreads=100,maxConnections=50,acceptCount=50,假设并发请求为200,则50个线程并发处理50个并发连接,50个连接进入等待队列,剩余100个将被拒绝。也就是说Tomca最大并发线程数是由maxThreads和maxConnections中最小的一个决定的。BIO场景下maxConnections和maxThreads是一样的,当我们需要一个长连接场景时,应使用NIO模式,并发连接是大于线程数的。
    在这里插入图片描述

  • 相关阅读:
    win10下安装scrapy不成功的问题解决
    python方法和函数区别
    关于Django 报错 ImportError: cannot import name RegexUrlResolver解决
    Django+Vue后端解决跨域问题
    python中yield的用法
    启动后、路由加载之前定制一段代码(基于admin原理)
    Hadoop期末复习
    python爬虫期末复习
    idea开发环境搭建ssh
    intelliJ破解及JavaEE搭建
  • 原文地址:https://www.cnblogs.com/niugang0920/p/12574680.html
Copyright © 2020-2023  润新知