springboot优化方案(springboot优化了springmvc哪些)

springboot项目如何通过优化tomcat提供系统性能

1. 配置文件中配置tomcat相关数据,大致如下:

server.tomcat.accept-count=1000 // 队列数,线程数达到最大值之后会进入线程队列

server.tomcat.max-threads=800 // 最大线程数,不宜设置过大,线程的切换是需要消耗cpu资源的,对性能会有损耗,4核8G的机子配置在800-1000比较合适

server.tomcat.min-spare-threads=100 // 最大空闲线程数,主要用于应急处理

2. 配置定制化tomcat

新建一个tomcat配置类,配置keepAlive最大连接时间和连接数,keepAlive属于长连接,适当配置可以提高性能

基础篇-SpringBoot那些事

以历代Spring Framework的进步为基础,Spring Boot实现配置自动化,依赖更简单,监控更容易,Spring Boot项目也是普通的Spring项目,只是他们正好用到了Spring Boot的起步依赖和自动配置而已,Spring Boot精要:

Spring支持Java配置和XML配置,他们为应用程序开启了特定的特性和功能,SpringBoot实现了自动配置,可以减少配置负担。

自动配置=spring-boot-autoconfigure+condition

没什么特别的,自动配置并不是智能配置,也是通过一个一个的配置文件实现的,Spring Boot把这些繁琐的工作处理了。我们看一个例子:

自动配置很好,很强大,自由选择同样重要

- 覆盖Spring Boot自动配置,覆盖配置很简单,直接显式地写一段配置即可

- 通过属性文件外置配置,Spring Boot提供了多种设置途径,常用包括如下,按优先级排列,越前优先级越高

- XML配置的特殊用处

- 优化SpringBootApplication

向项目中添加依赖是件富有挑战的事,SpringBoot通过起步依赖为项目的依赖管理提供帮助,起步依赖引入的库都经过测试,不会出现不兼容的情况。

Spring Boot提供了运行时检视应用程序内部情况的能力,包括应用Bean,自动配置,环境变量,内存用量,垃圾回收,Web请求。可以结合prometheus来可视化监控和报警。

SpringBoot入门系列

基础篇-Java相关的有些事

基础篇-SpringBoot那些事

基础篇-Spring必须知道的

基础篇-工欲善其事

摘自

*Spring Boot实战

*Spring Boot解密

**需要PDF书籍的可以私聊

Springboot内置Tomcat配置调优实战

Tomcat的 maxConnections、maxThreads、acceptCount 三大配置,分别表示最大连接数,最大线程数、最大的等待数,可以通过application.yml配置文件来改变这个三个值.

# tomcat 8

# tomcat 9

1、accept-count:最大等待数

官方文档:当所有的请求处理线程都在使用时,所能接收的连接请求的队列的最大长度。当队列 已满时 ,任何的连接请求都将 被拒绝 。accept-count的默认值为100。

详细的来说:当调用HTTP请求数达到tomcat的最大线程数时,还有新的HTTP请求到来,这时tomcat会将该请求放在等待队列中,这个acceptCount就是指能够接受的最大等待数,默认100。如果等待队列也被放满了,这个时候再来新的请求就会被tomcat拒绝(connection refused)。

2、maxThreads:最大线程数

每一次HTTP请求到达Web服务,tomcat都会创建一个线程来处理该请求,那么最大线程数 决定了Web服务容器可以同时处理多少个请求 。maxThreads默认200,肯定建议增加。但是,增加线程是有成本的,更多的线程,不仅仅会带来更多的线程上下文切换的成本,而且意味着带来更多的内存消耗。JVM中默认情况下在创建新线程时会分配大小为1M的线程栈,所以,更多的线程异味着需要更多的内存。

线程数的经验值为 :1核2g内存为200,线程数经验值200;4核8g内存,线程数经验值800。

3、maxConnections:最大连接数

官方文档:

这个参数是指在同一时间, tomcat能够接受的最大连接数 。对于Java的阻塞式BIO,默认值是maxthreads的值;如果在BIO模式使用定制的Executor执行器,默认值将是执行器中maxthreads的值。对于Java 新的NIO模式,maxConnections 默认值是10000。

对于windows上APR/native IO模式,maxConnections默认值为8192,这是出于性能原因,如果配置的值不是1024的倍数,maxConnections 的实际值将减少到1024的最大倍数。

如果设置为-1,则禁用maxconnections功能,表示不限制tomcat容器的连接数。

maxConnections和accept-count的关系为:当连接数达到最大值maxConnections后,系统 会继续接收连接 ,但 不会超过acceptCount的值 。

springboot优化方案(springboot优化了springmvc哪些)  第1张

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 13:51
下一篇 2023-09-23 13:52

相关推荐

发表回复

登录后才能评论