728x90
반응형
CP : connection pool
Connection의 과부하를 막기 위해 씀.
Connection을 미리 만들고 Connection pool 에 두었다가 사용자의 요청이 발생할 경우 Connection을 제공하고,
요청이 끝났다면 다시 Connection pool에 보관한다.
- DB접속 설정 객체를 미리 만들어 연결하여 메모리 상에 등록해 놓기 때문에 클라이언트가 빠르게 DB에 접속 가능
- DB Connection 수를 제한 할 수 있어서 과도한 접속으로 인한 서버 자원 고갈 방지 가능
- DB 접속 모듈을 공통화해 DB서버의 환경이 바뀔 경우 쉬운 유지보수 가능
- 연결이 끝난 Connection을 재사용함으로써 새로 객체를 만드는 비용을 줄일 수 있음
😒HikariCP란 Springboot 2.0 부터 default로 설정되어 있는 DB Connection Pool로써 Zero-Overhead가 특징으로 높은 성능을 자랑하는 DB Connection Pool이다. HikariCP는 미리 정해놓은 만큼의 Connection을 Connection Pool에 담아 놓는다. 그 후 요청이 들어오면 Thread 가 Connection을 요청하고, Hikari는 Connection Pool내에 있는 Connection을 연결해주는 역할을 한다.
application.yml
spring:
datasource:
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: "jdbc:log4jdbc:mysql://localhost:3306/study?autoReconnect=true"
username: root
password: 1234
hikari:
auto-commit: false
connection-test-query: SELECT 1
minimum-idle: 10
maximum-pool-size: 50
transaction-isolation: TRANSACTION_READ_UNCOMMITTED
pool-name: pool-tester
config set
PersistenceJPAConfig.java
package com.org.study;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
public class PersistenceJPAConfig {
@Bean
@Primary
@ConfigurationProperties("spring.datasource")
public DataSourceProperties dataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@ConfigurationProperties("spring.datasource.hikari")
public HikariDataSource dataSource(DataSourceProperties properties) {
return properties.initializeDataSourceBuilder().type(HikariDataSource.class).build();
}
}
320x100
반응형
'JAVA > SPRING' 카테고리의 다른 글
springBoot / mapstruct (0) | 2022.06.08 |
---|---|
spring boot / H2 DB 세팅 (0) | 2022.05.29 |
QueryDSL , Criteria , Native Query (0) | 2022.05.09 |
log4j2.xml / log4jdbc / slf4j 설정 (0) | 2022.04.22 |
Spring cloud config (0) | 2022.02.03 |