春季最大(客户端请求)线程池大小
Posted
技术标签:
【中文标题】春季最大(客户端请求)线程池大小【英文标题】:Maximum (client request) thread pool size in spring 【发布时间】:2014-10-13 11:55:48 【问题描述】:我正在使用 Spring Boot 应用程序开发应用程序服务器,但现在我想知道 Spring 中默认的最大(客户端请求)线程池大小是多少以及如何自定义该值?
【问题讨论】:
【参考方案1】:由于 server.tomcat.max-threads
自 Springboot 2.3 起已弃用,现在在 Spring application.properties
中使用 server.tomcat.threads.max
。默认为 200。
【讨论】:
你应该指出哪个版本的 spring boot 是可以接受的。对于 2.2.1,这是错误的。【参考方案2】:假设您使用的是嵌入式 Tomcat,Spring Boot 使用server.tomcat.max-threads
property 来控制客户端请求线程池的大小。它的默认值是 0,这让 Tomcat 使用它的默认值 200。
要自定义此线程池的大小,您应该在application.properties
或application.yml
文件中为server.tomcat.max-threads
属性指定一个非零值。
【讨论】:
谢谢。那么,如果服务器收到的请求多于 application.properties 或 application.yml 中指定的请求,该怎么办。我假设它持有请求是吗? [..request 在该请求期间需要一个线程。如果收到的并发请求多于当前可用的请求处理线程可以处理的数量,则将创建额外的线程,直至配置的最大值(maxThreads 属性的值)。如果接收到更多的同时请求,它们会堆积在连接器创建的服务器套接字中,直到配置的最大值(acceptCount 属性的值)。任何进一步的并发请求都将收到“连接被拒绝”错误,直到有可用资源来处理它们。 摘自这里:tomcat.apache.org/tomcat-7.0-doc/config/http.html 你能帮忙吗? ***.com/questions/43181576/… @jocull 是的,他们可以使用ConnectorCustomizer
。下面是 Boot 的做法:github.com/spring-projects/spring-boot/blob/master/….以上是关于春季最大(客户端请求)线程池大小的主要内容,如果未能解决你的问题,请参考以下文章
Sun/Oracle CORBA 实现是不是有任何线程池以及如何配置它?