2022-08-25 22:15:33.485 WARN 1 --- [nio-8081-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 08006
2022-08-25 22:15:33.487 ERROR 1 --- [nio-8081-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : HikariPool-1 - Connection is not available, request timed out after 30000ms.
2022-08-25 22:15:33.492 ERROR 1 --- [nio-8081-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : SSL error: Connection reset
2022-08-25 22:15:33.492 INFO 1 --- [nio-8081-exec-2] c.s.a.u.biz.controllers.UsersController : Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection
maximumPoolSize
= 5 설정하여 Connection 생성 제한maximumPoolSize: pool에 유지시킬 수 있는 최대 커넥션 수. pool의 커넥션 수가 옵션값에 도달하게 되면 idle(놀고있는)인 상태는 존재하지 않음 (default:10)
적절한 Pool Size 구하는 공식
## Brian Goetz가 제안한 공식
스레드 수 = 사용 가능한 코어 수 * (1+대기 시간/서비스 시간)
## CPU 목표 사용량까지 고려한 공식
스레드 수 = 사용 가능한 코어 수 * CPU 목표 사용량 * (1+대기 시간/서비스 시간)
값은 그냥 임의로 정했다
statement_timeout
: 35000
idle_in_transaction_session_timeout
: 1805000
idle_session_timeout
: 1805000
spring.datasource.hikari.maxLifetime
값을 30000