【杂谈】Spring Boot 默认支持的并发量

Spring Boot应用支持的最大并发量是多少?

Spring Boot 能支持的最大并发量主要看其对Tomcat的设置,可以在配置文件中对其进行更改。当在配置文件中敲出max后提示值就是它的默认值。

我们可以看到默认设置中,Tomcat的最大线程数是200,最大连接数是10000。

并发量指的是连接数,还是线程数?

当然是连接数。

200个线程如何处理10000条连接?

Tomcat有两种处理连接的模式,一种是BIO,一个线程只处理一个连接,另一种就是NIO,一个线程处理多个连接。由于HTTP请求不会太耗时,而且多个连接一般不会同时来消息,所以一个线程处理多个连接没有太大问题。

为什么不开几个线程?

多开线程的代价就是,增加上下午切换的时间,浪费CPU时间,另外还有就是线程数增多,每个线程分配到的时间片就变少。多开线程≠提高处理效率。

那增大最大连接数呢?

增大最大连接数,支持的并发量确实可以上去。但是在没有改变硬件条件的情况下,这种并发量的提升必定以牺牲响应时间为代价。

对了,配置文件明明就是空的,这些提示内容是哪里加载的?

默认生成的配置文件确实是空的,就是普通的文本文件,不要错以为这些内容是被隐藏掉的。首先是IDE要支持,IDE支持Spring Boot项目就知道该从哪里加载数据。Spring Boot的默认配置信息,都在 spring-boot-autoconfigure-版本号.jar 这个包中。其中上述Tomcat的配置在/web/ServerProperties.java中。下图是用jd-gui反编译看的,你也可以在spring boot项目中找到依赖包查看。

原文地址:https://www.cnblogs.com/longfurcat/p/10199842.html

时间: 2024-10-19 11:41:25

【杂谈】Spring Boot 默认支持的并发量的相关文章

Spring boot 默认静态资源路径与手动配置访问路径的方法

这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在application.propertis中配置 ##端口号 server.port=8081 ##默认前缀 spring.mvc.view.prefix=/ ## 响应页面默认后缀 spring.mvc.view.suffix=.html # 默认值为 /** spring.mvc.static-path-pattern=/** # 这里设置要指向的路径,多个

Spring Boot默认的JSON解析框架设置

方案一:启动类继承WebMvcConfigurerAdapter,覆盖方法configureMessageConverters ... @SpringBootApplication public class UserApplication extends WebMvcConfigurerAdapter{ @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters)

Spring Boot全局支持CORS(跨源请求)

1 import org.springframework.context.annotation.Configuration; 2 import org.springframework.web.servlet.config.annotation.CorsRegistry; 3 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 4 5 /** 6 * @Author:CoderZZ 7

Spring Boot 默认指标从哪来?

了解有关 Spring Boot 默认指标及其来源的更多信息. 您是否注意到 Spring Boot 和 Micrometer 为您的应用生成的所有默认指标? 如果没有 - 您可以将 actuator 依赖项添加到项目中,然后点击 / actuator / metrics 端点,在那里您将找到有关 JVM .进程.Tomcat.流量等的有用信息. 然后,添加一些缓存,数据源 或 JPA 依赖项,甚至会出现更多指标.如果您想知道它们是如何结束的,我们可以在哪里找到关于它们所描述的参数的解释,那么这

Spring Boot 默认的指标数据从哪来的?

了解有关 Spring Boot 默认指标及其来源的更多信息. 您是否注意到 Spring Boot 和 Micrometer 为您的应用生成的所有默认指标?如果没有 - 您可以将 actuator 依赖项添加到项目中,然后点击 / actuator / metrics 端点,在那里您将找到有关 JVM .进程.Tomcat.流量等的有用信息.然后,添加一些缓存,数据源 或 JPA 依赖项,甚至会出现更多指标.如果您想知道它们是如何结束的,我们可以在哪里找到关于它们所描述的参数的解释,那么这篇文

修改Spring Boot默认的上下文

前言 默认情况下,Spring Boot使用的服务上下文为"/",我们可以通过"http://localhost:PORT/" 直接诶访问应用: 但是在生产环境,很多情况下,我们都需要改变应用的默认上下文: 幸运的是,Spring Boot非常灵活简便,提供能很多种方式来改变应用的上下文: 1) 通过application.properties配置文件改变上下文 通过application.properties配置文件,我们可以非常简便的配置各种参数,改变上下文就是

Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS

本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密.非对称加密.信息认证等密码学知识.如果你不太了解,可以阅读Erlang发明人Joe Armstrong最近写的Cryptography Tutorial.大牛出品,通俗易懂,强力推荐. Https涉及到的主体 客户端.通常是浏览器(Chrome.IE.FireFox等),也可以自己编写的各种语言的

Tomcat 支持多少并发量

Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的.更好的硬件,更多的处理器都会使Tomcat支持更多的并发. Tomcat默认的HTTP实现是采用阻塞式的Socket通信,每个请求都需要创建一个线程处理,当一个进程有500个线程在跑的话,那性能已经是很低很低了.Tomcat 默认配置的最大请求数是150,也就是说同时支持150个并发.具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给JVM的内存越多性能也就越高,但也会加重GC的负担

spring boot 默认的 logback

1.在resource目录下写logback.xml 文件 2. <?xml version="1.0" encoding="UTF-8"?><configuration> <include resource="org/springframework/boot/logging/logback/base.xml"/> <jmxConfigurator/> <!-- ROLLINGFILE 满足一