返回顶部
首页 > 资讯 > 数据库 >SpringBoot优化连接数
  • 458
分享到

SpringBoot优化连接数

javatomcatspringbootmysql 2023-08-17 09:08:57 458人浏览 薄情痞子
摘要

由于SpringBoot内置WEB容器是Tomcat,所以我们在使用springboot时,如果内置Tomcat参数不满足要求时,可按需优化。 SpringBoot内置Tomcat,在默认设置中,Tomcat的最大线程数是200,最大连接数

由于SpringBoot内置WEB容器Tomcat,所以我们在使用springboot时,如果内置Tomcat参数不满足要求时,可按需优化
SpringBoot内置Tomcat,在默认设置中,Tomcat的最大线程数是200,最大连接数是10000。支持的并发量是指连接数,也就是说 支持最大并发量是一万(默认)。
Tomcat有两种处理连接的模式,
1,是Bio,一个线程只处理一个Socket连接,
2,是NIO,一个线程处理多个Socket连接。
由于Http请求不会太耗时,而且多个连接一般不会同时来消息,所以一个线程处理多个连接没有太大问题。一个线程处理多个连接数会很慢 有可能会超时。

springboot 配置Tomcat参数:

server:  tomcat:    accept-count: 80 #挂起的请求队列最大连接数,默认100    max-connections: 2000  #最大连接数,默认10000,tomcat内tcp连接池的大小    max-threads: 200 #最大线程数,默认200,超过加入等待队列,默认是100,当等待队列达到100后,直接拒绝此次请求返回connection refused。连接超时时间默认为20秒    min-spare-threads: 5  #最小工作线程数    connection-timeout: 60000  #server端的socket超时间,默认60s    accesslog:      enabled: true #启动tomcat访问日志

静态内部类Accesslog:主要用于配置Tomcat访问日志的参数信息:
enabled:是否启用访问日志
pattern:访问日志的格式化模式,默认为common
directory:创建日志文件的目录。可以是绝对或相对于Tomcat的基目录,默认是logs
prefix:日志文件名称前缀,默认access_log
suffix:日志文件名称后缀,默认.log
rotate:是否启用访问日志旋转,默认为true
renameOnRotate:是否推迟将日期戳包含在文件名中
fileDateFormat:日志文件名称中的日期格式,默认为.yyyy-MM-dd。
requestAttributesEnabled:为请求使用的IP地址、主机名、协议和端口设置请求属性
buffered:是否缓冲输出,使其只定期刷新,默认为true

优化完内置Tomcat配置,我们可以按需再优化下数据库连接配置:
查询Mysql最大连接数:

show variables like "%max_connections%";

mysql 最大连接数的默认值是 100,这个数值对于并发连接很多的数据库应用是远不够用的。当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些。在使用 Mysql 数据库的时候,经常会遇到一个问题,就是 “Can not connect to MySQL Server. Too many connections” -mysql 1040 错误,这是因为访问 MySQL 且还未释放的连接数已经达到 MySQL 的上限。通常,MySQL 的最大连接数默认是 100,,最大可以达到 16384。

常用的修改MySQL最大连接数的两种方式如下:
第一种:命令行修改最大连接数 (max_connections),设置最大连接数为 1000。

set global max_connections = 1000;

这种方式有个问题,就是设置的最大连接数只在 MySQL 当前服务进程有效,一旦 MySQL 重启,又会恢复到初始状态。因为 MySQL 启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。

第二种:通过修改配置文件来修改 MySQL 最大连接数 (max_connections)。
进入 MySQL 安装目录,打开 MySQL 配置文件 my.ini 或 my.cnf 查找 max_connections=100,修改为 max_connections=1000,重启 MySQL 服务即可。
mybatis 的并发上限优化:

spring.datasource.name=druidDataSourcespring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.druid.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://192.168.1.1:13306/test?useUnicode=true&characterEncoding=utf8&useTimezone=true&serverTimezone=GMT%2B8spring.datasource.username=rootspring.datasource.passWord=123456testspring.datasource.filters=stat,wall,log4j,configspring.datasource.max-active=100spring.datasource.initial-size=1spring.datasource.max-wait= 60000spring.datasource.min-idle=1spring.datasource.time-between-eviction-runs-millis=60000spring.datasource.min-evictable-idle-time-millis=300000spring.datasource.validation-query=select 'x'spring.datasource.test-while-idle=truespring.datasource.test-on-borrow=falsespring.datasource.test-on-return=falsespring.datasource.pool-prepared-statements=truespring.datasource.max-open-prepared-statements=50spring.datasource.max-pool-prepared-statement-per-connection-size=20

来源地址:https://blog.csdn.net/qq_35113072/article/details/128626464

您可能感兴趣的文档:

--结束END--

本文标题: SpringBoot优化连接数

本文链接: https://lsjlt.com/news/372615.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringBoot优化连接数
    由于springboot内置web容器是Tomcat,所以我们在使用springboot时,如果内置Tomcat参数不满足要求时,可按需优化。 SpringBoot内置Tomcat,在默认设置中,Tomcat的最大线程数是200,最大连接数...
    99+
    2023-08-17
    java tomcat spring boot mysql
  • sharding-jdbc分库连接数优化
    在sharding-jdbc中,分库连接数的优化主要包括以下几个方面:1. 设置合适的连接池大小:根据实际业务需求和硬件配置,设置合...
    99+
    2023-09-08
    优化
  • 如何优化MySQL连接数管理
    如何优化MySQL连接数管理 MySQL 是一种流行的关系型数据库管理系统,广泛应用于各种网站和应用程序中。在实际的应用过程中,MySQL 连接数管理是一个非常重要的问题,尤其是在高并...
    99+
    2024-04-02
  • Mongodb中怎么优化最大连接数
    本篇文章为大家展示了Mongodb中怎么优化最大连接数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.查询最大连接数:   &nbs...
    99+
    2024-04-02
  • MySQL连接数怎么优化和配置
    本文小编为大家详细介绍“MySQL连接数怎么优化和配置”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL连接数怎么优化和配置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。...
    99+
    2023-04-22
    mysql
  • 优化您的数据库连接策略:连接池的威力
    优点: 减少开销:建立数据库连接是一个耗时的过程,连接池通过重用连接避免了频繁的连接开销,从而提高了应用程序的性能。 提高可扩展性:连接池可以动态调整连接数以满足应用程序需求。当负载增加时,它可以自动创建新连接,避免连接不足的情况。 故...
    99+
    2024-04-02
  • PHP数据库连接优化:降低连接开销的策略
    摘要:为了优化 php 数据库连接,可采用以下策略:连接池:创建预先建立的连接池,重用现有连接,减少创建新连接的需要。长生命周期连接:保持连接打开并在不同请求之间重用,减少连接开销。连接...
    99+
    2024-05-22
    数据库 php mysql wordpress
  • 如何优化MySQL反连接
    这篇文章给大家分享的是有关如何优化MySQL反连接的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。总体来看这个环境还是相对比较繁忙的,线程大概是200多个。# mysqladmin...
    99+
    2024-04-02
  • swoole长连接怎么优化
    这篇“swoole长连接怎么优化”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“swoole长连接怎么优化”文章吧。一、合理设...
    99+
    2023-07-05
  • k8s长连接怎么优化
    要优化K8s长连接,可以考虑以下几点: 调整TCP连接参数:调整TCP连接的超时时间、重传次数等参数,以适应长连接的特性。可以通...
    99+
    2023-10-27
    k8s
  • 如何理解MySQL性能优化:长连接、短连接、连接池
    本篇内容介绍了“如何理解MySQL性能优化:长连接、短连接、连接池”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • Mysql的数据库连接---SpringBoot
    1.原生态连接 ①:准备工作:引入mysql依赖:                  mysql            mysql-connector-java            5.1.6         ②:书写DBUtil工具...
    99+
    2023-09-03
    数据库 mysql spring boot
  • win7远程连接怎么优化
    这篇文章主要讲解了“win7远程连接怎么优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win7远程连接怎么优化”吧!win7远程连接优化教程首先在左下角搜索“gpedit.msc”并运行...
    99+
    2023-07-01
  • win7网络连接怎么优化
    这篇“win7网络连接怎么优化”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win7网络连接怎么优化”文章吧。win7网络连...
    99+
    2023-07-01
  • 使用springboot不自动初始化数据库连接池
    目录springboot不自动初始化数据库连接池简介解决方案记录下spring boot关于数据库连接池的一个小坑application.properties配置先找到这个类在下面的...
    99+
    2024-04-02
  • mysql配置连接参数设置及性能优化
    目录1 前言2 数据库连接配置信息3 配置信息说明4 数据库sql5 mysql 性能优化的关注点6 硬件和操作系统方面的优化7 架构设计方面的优化8 mysql 程序配置优化。9 ...
    99+
    2024-04-02
  • 利用PHP DataObjects (PDO) 优化数据库连接性能
    使用 pdo 优化数据库连接性能的好处包括:代码可移植性:无需更改代码即可连接到不同 dbms。减少连接开销:使用连接池重复使用现有连接,从而降低成本。错误处理简便:提供统一的错误处理机...
    99+
    2024-05-21
    php pdo mysql
  • SpringBoot中怎么连接数据库
    在SpringBoot中连接数据库通常需要以下几个步骤: 1、添加数据库驱动依赖:在pom.xml文件中添加所需数据库的驱动依赖,例...
    99+
    2024-03-07
    SpringBoot 数据库
  • SpringBoot集成Druid连接池连接MySQL8.0.11
    目录1.配置依赖1.1MySQL Connector/J依赖配置 maven1.2Druid依赖配置2.配置DataSource 2.1创建配置类2.2注意事项这篇博客简单...
    99+
    2024-04-02
  • 连接池:数据库性能优化的关键元素
    连接池的核心优势 减少连接建立开销:数据库连接的建立是一个耗时的过程,涉及底层协议协商、身份验证和会话初始化。连接池通过预先建立并管理连接,避免了频繁的连接创建和销毁,从而大幅降低了连接开销。 提高并发性:数据库资源通常有限,特别是当连...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作