HikariCP 연결 풀을 사용하는 코드가 있습니다.
config.setMaximumPoolSize(100);
config.setDataSourceClassName("com.mysql.jdbc.jdbc2.optional.MysqlDataSource");
config.addDataSourceProperty("serverName", hostname);
config.addDataSourceProperty("port", portnumber);
config.addDataSourceProperty("databaseName", dbname);
config.addDataSourceProperty("user", username);
config.addDataSourceProperty("password", password);
config.setConnectionTimeout(30000);
config.setInitializationFailFast(false);
pooledDataSource = new HikariDataSource(config);
"Show Processlist"명령을 실행하여 mysql에서 연결을 모니터링하고 100 개의 연결이 한 줄에 생성 된 것을 확인합니다.
pooledDataSource = new HikariDataSource(config);
... 실행됩니다. 나는 이것이 일어나지 않을 것이라고 확신합니다. 나중에 pooledDataSource.getConnection ()을 수행 할 때 연결을 만들어야합니다.
내가 도대체 뭘 잘못하고있는 겁니까? 왜 즉시 100 개의 연결을 생성합니까 ??
해결 방법
기본적으로 HikariCP는 고정 크기 풀로 실행됩니다. minimumIdle
을 설정해야합니다. 그게 다야.
minimumIdle
에 대한 문서에서 :
이 속성은 최소 유휴 연결 수를 제어합니다. HikariCP tries to maintain in the pool. If the idle connections dip below this value, HikariCP will make a best effort to add additional connections quickly and efficiently. However, for maximum performance and responsiveness to spike demands, we recommend not setting this value and instead allowing HikariCP to act as a fixed size connection 풀. 기본값 : maximumPoolSize와 동일
참조 페이지 https://stackoverflow.com/questions/27396725
'MySql' 카테고리의 다른 글
MySQL CodeIgniter "객체 컨텍스트에 없을 때 $ this 사용"함수에서 (0) | 2020.11.27 |
---|---|
MySQL Hibernate에서 내부 쿼리에 제한을 설정하는 방법은 무엇입니까? (0) | 2020.11.27 |
MySQL MySql 쿼리에서 RegEx 대 LIKE의 성능 (1) | 2020.11.27 |
MySQL mysql 쿼리에서 지정된 datetime에 가장 가까운 datetime 찾기 (0) | 2020.11.27 |
MySQL MYSQL 워크 벤치에서 생성 된 데이터베이스의 파일 위치 (0) | 2020.11.27 |
댓글