弹簧中的最大(客户端请求)线程池大小

sag*_*gar 50 threadpool spring-boot

我正在使用spring boot app开发应用程序服务器,但现在我想知道spring中默认的最大(客户端请求)线程池大小是什么,我该如何自定义该值?

And*_*son 86

假设您使用的是嵌入式Tomcat,Spring Boot使用该server.tomcat.max-threads属性来控制客户端请求线程池的大小.它的默认值为零,使Tomcat使用默认值200.

要自定义此线程池的大小,您应该为或文件中的server.tomcat.max-threads属性指定非零值.application.propertiesapplication.yml

  • [.. request在该请求的持续时间内需要一个线程.如果收到的并发请求多于当前可用的请求处理线程可以处理的请求,则将创建其他线程,直到达到配置的最大值(maxThreads属性的值).如果收到更多并发请求,它们将堆叠在连接器创建的服务器套接字内,最多为配置的最大值(acceptCount属性的值).任何进一步的同时请求将收到"连接被拒绝"错误,直到资源可用于处理它们. (24认同)
  • 谢谢.那么,如果服务器获得的请求多于application.properties或application.yml中指定的请求,该怎么办?我假设它持有请求是吗? (4认同)
  • 它是从这里提取的:https://tomcat.apache.org/tomcat-7.0-doc/config/http.html (2认同)

Zon*_*Zon 26

由于server.tomcat.max-threads自Springboot 2.3已过时,现在用server.tomcat.threads.max在你的春天application.properties。默认值为 200。

  • 我认为最好的是查阅官方参考:https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.web (2认同)