Explorar el Código

连接池优化

xiongzhu hace 3 años
padre
commit
6e26cd48d8

+ 1 - 1
src/main/java/com/izouma/nineth/domain/User.java

@@ -52,7 +52,7 @@ public class User extends BaseEntityNoID implements Serializable {
 //    @GeneratedValue(generator = "user_id_generator")
 
     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "user_seq")
-    @SequenceGenerator(name = "user_seq", sequenceName = "user_seq")
+    @SequenceGenerator(name = "user_seq", sequenceName = "user_seq", allocationSize = 200)
     private Long id;
 
     //    @Pattern(regexp = Constants.Regex.USERNAME)

+ 11 - 4
src/main/resources/application.yaml

@@ -39,11 +39,13 @@ spring:
     druid:
       # 连接池的配置信息
       # 初始化大小,最小,最大
-      initial-size: 10
-      min-idle: 10
-      maxActive: 5000
+      initial-size: 20
+      min-idle: 20
+      maxActive: 3000
       # 配置获取连接等待超时的时间
-      maxWait: 10000
+      maxWait: 60000
+      # 使用不公平锁提高并发
+      use-unfair-lock: true
       # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
       timeBetweenEvictionRunsMillis: 60000
       # 配置一个连接在池中最小生存的时间,单位是毫秒
@@ -63,6 +65,10 @@ spring:
       remove-abandoned: true
       remove-abandoned-timeout: 1800
       log-abandoned: true
+      # 保持连接
+      keep-alive: true
+      # 超过多长时间
+      keep-alive-between-time-millis: 60000
       # 配置DruidStatFilter
       web-stat-filter:
         enabled: true
@@ -81,6 +87,7 @@ spring:
             condition-and-alway-false-allow: true
             condition-and-alway-true-allow: true
             select-where-alway-true-check: false
+
   jpa:
     database: MySQL
     database_platform: org.hibernate.dialect.MySQL5InnoDBDialect