首页 > 其他分享 >SpringBoot中通过8项配置优化提升Tomcat性能

SpringBoot中通过8项配置优化提升Tomcat性能

时间:2024-08-16 10:27:21浏览次数:9  
标签:SpringBoot Tomcat Spring 配置 Boot server application 优化 yml

❃博主首页 : 「码到三十五」 ,同名公众号 :「码到三十五」,wx号 : 「liwu0213」
☠博主专栏 : <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关>
♝博主的话 : 搬的每块砖,皆为峰峦之基;公众号搜索「码到三十五」关注这个爱发技术干货的coder,一起筑基


优化Spring Boot,Spring Cloud 应用程序中Tomcat的配置有助于提高性能和资源利用率。

文章目录


以下是需要重点优化的一些关键领域:

1.线程池配置

调整Spring Boot,Spring Cloud 应用中Tomcat可用的线程数可以帮助有效地处理更多并发请求。

# application.yml 
server: 
  tomcat: 
    threads: 
      max:  200         #池中最大线程数
      min-spare:  10    #最小空闲线程数

2. 连接配置

调整Spring Boot,Spring Cloud 应用中Tomcat连接设置可以改善 Tomcat 处理传入连接的方式。

# application.yml 
server: 
  tomcat: 
    max-connections:  10000      # 可处理的最大连接数
    accept-count:  1000          # 传入连接请求的最大队列长度

3. 压缩

启用压缩可以减少通过网络发送的数据量,从而缩短响应时间。

# application.yml
server:
  compression:
    enabled: true
    mime-types: application/json,application/xml,text/html,text/xml,text/plain
    min-response-size: 1024

4. Keep-Alive 配置

调整Spring Boot,Spring Cloud 应用中Tomcat保持活动设置可以帮助更有效地管理连接。

# application.yml 
server: 
  connection-timeout:  20000           # 客户端连接超时时间(以毫秒为单位)
  tomcat: 
    keep-alive-timeout:  10000         # 保持连接超时时间(以毫秒为单位)
    max-keep-alive-requests:  100      # 可通过保持连接发送的最大请求

5. 访问日志

配置访问日志可以帮助监控和分析请求模式。

# application.yml
server:
  tomcat:
    accesslog:
      enabled: true
      directory: /var/log/tomcat
      prefix: access_log
      suffix: .txt

6. JVM 选项

JVM配置垃圾收集和内存管理的最佳设置。

# JVM 选项
-Xms512m         # 初始堆大小
-Xmx2048m        # 最大堆大小
- XX :+UseG1GC     # 使用 G1 垃圾收集器

7. Spring Boot配置

Spring Boot,Spring Cloud应用程序警用优化。例如,禁用不必要的自动配置可以节省资源。

# application.yml
spring:
  autoconfigure:
    exclude: org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration

8.安全设置

确保您的应用程序是安全的,以防止资源滥用和攻击。

# application.yml
server:
  ssl:
    enabled: true
    key-store: classpath:keystore.jks
    key-store-password: password
    key-password: password 

综合配置

以下是结合上述几种设置的综合配置:

server:
  port: 8080
  connection-timeout: 20000
  tomcat:
    max-connections: 10000
    accept-count: 1000
    threads:
      max: 200
      min-spare: 10
    keep-alive-timeout: 10000
    max-keep-alive-requests: 100
    compression:
      enabled: true
      mime-types: application/json,application/xml,text/html,text/xml,text/plain
      min-response-size: 1024
    accesslog:
      enabled: true
      directory: /var/log/tomcat
      prefix: access_log
      suffix: .txt

spring:
  autoconfigure:
    exclude: org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration
    

关注公众号[码到三十五]获取更多技术干货 !

标签:SpringBoot,Tomcat,Spring,配置,Boot,server,application,优化,yml
From: https://blog.csdn.net/qq_26664043/article/details/140936645

相关文章

  • VoxelNeXt 模型优化(实测提点)
     VoxelNeXt原理这里不多介绍,官方代码地址:https://github.com/dvlab-research/VoxelNeXt总结一下VoxelNeXt的特点:没有采用增大卷积核尺寸的方式来增大感受野,而是利用稀疏卷积做了两次下采样在做BEV处理时,pointpillar是batch_spatial_features.view(batch_size,self.num_......
  • springboot 接口参数类型为LocalDateTime解析失败导致接口报错 -解决
    1.原因springboot框架不支持LocalDateTime的解析,需要自己添加一个解析配置2.解决创建一个配置类,位置随意importcom.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;importcom.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;impo......
  • SpringBoot的事务/调度/缓存/邮件发送和一些Spring知识点总结
    目录1、SpringBoot的事务管理2、SpringBoot的异步任务3、SpringBoot定时任务调度4、SpringBoot整合Mail发送邮件5、Spring框架中的Bean的作用域6、Spring框架中的Bean的线程安全7、Spring框架中的Bean生命周期8、Spring框架如何解决循环依赖?9、Spring框架中有哪些注......
  • 计算机毕业设计必看必学!! 93494基于springboot 书店信息管理系统,原创定制程序, java
    摘 要书店信息管理系统采用B/S结构、java开发语言、以及Mysql数据库等技术。系统主要分为管理员和用户两部分,管理员管理主要功能包括:首页、轮播图、公告栏、资源管理(图书资讯、资讯分类)交流管理(留言板、留言板分类)系统用户(管理员、顾客用户)模块管理(图书信息、分类管理、购......
  • Oracle优化二则
    一、准备工作1.环境介绍数据库版本:Oracle11.2.0.4工具:bbed2.数据库创建测试环境createtablespacetest_tbsdatafile'/u01/app/oracle/oradata/ora11g/test_tbs01.dbf'size10Mautoextendon;createuserlouisidentifiedby123defaulttablespacetest_tbs;......
  • SpringBoot项目搭建(IDEA+Maven)
    项目搭建IDEA搭建Springboot项目SpringBoot的基础结构src/main/java:项目的Java源代码存放目录HelloSpringbootApplication:项目的主文件resources:用于存放项目的资源文件resources/static:用于存放项目中的静态资源文件,例如css,js,image等resources/templates:......
  • 混合策略改进的蜣螂算法(IDBO)优化长短期记忆神经网络原理及matlab代码
    目录0引言1数学模型2模型对比3matlab代码3.1改进的主代码3.2IDBO-LSTM4视频讲解0引言针对DBO算法全局探索能力不足、易陷入局部最优以及收敛精度不理想等问题,多为学者提出了混合多策略改进的蜣螂优化算法(IDBO)。主要混合策略改进首先是采用混沌映射结合随机反......
  • 混合策略改进的蜣螂算法(IDBO)优化支持向量机原理及matlab代码
    目录0引言1数学模型2模型对比3matlab代码3.1改进的主代码3.2IDBO-SVM4视频讲解0引言针对DBO算法全局探索能力不足、易陷入局部最优以及收敛精度不理想等问题,多为学者提出了混合多策略改进的蜣螂优化算法(IDBO)。主要混合策略改进首先是采用混沌映射结合随机反向......
  • 基于SpringBoot+Vue+uniapp的考研图书电子商务平台的详细设计和实现(源码+lw+部署文档
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的KTV包厢管理系统的详细设计和实现(源码+lw+部署文档+讲解
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......