单机MYSQL优化链接数量并spring druid 优化链接

内存资源:每个MySQL连接会占用一定内存(通常10-20MB),需根据服务器总内存推算合理连接数。例如,4GB内存的服务器建议连接数控制在150-250之间,避免内存耗尽导致性能下降。

基础配置:
默认最大连接数(max_connections)通常为151,生产环境建议调整至300-1000,这里我们建议200就行。
最大并发连接数建议设置为最大连接数的50%-80%,确保系统稳定性。
动态调整:
临时修改:通过SET GLOBAL max_connections=200; 立即生效,但重启后失效,这里可以直接MYSQL里直接运行。
永久生效:修改MySQL配置文件(如my.cnf或my.ini),在[mysqld]段添加max_connections=200,重启服务生效。

WINDOWS一般地址是 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini   

ProgramData这个目录一般是隐藏的。
进去搜max_connections然后改为200就行,一般默认是151.
linux系统按各系统自己查看吧较多就不显示了

druid一般这样设置即可

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/javarfast?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
      username: root
      password: xxxxxxxxx
      initial-size: 20
      max-active: 200
      min-idle: 10
      max-wait: 60000
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      timeBetweenEvictionRunsMillis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      minEvictableIdleTimeMillis: 300000
      # 配置一个连接在池中最大生存的时间,单位是毫秒
      maxEvictableIdleTimeMillis: 900000
      validation-query: SELECT 1 FROM DUAL
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
      webStatFilter: 
                enabled: true
      stat-view-servlet:
        allow:
        enabled: true
        url-pattern: /druid/*
        login-username: admin
        login-password: admin
      filter:
        stat:
          enabled: true
          log-slow-sql: true
          slow-sql-millis: 1000
          merge-sql: false
        wall:
          config:
            multi-statement-allow: true
      filters: stat,wall,log4j2

发表新评论