728x90
반응형
netty httpclient pool을 모니터링하는 방법
implementation 'io.micrometer:micrometer-registry-logging'
gradle에 micrometer-registry-logging추가
logging.level.reactor.netty.resources.PooledConnectionProvider=TRACE
logging.level.reactor.netty.connection.provider=TRACE
logging.level.io.micrometer.core.instrument.logging=DEBUG
application.propertis에 위와 같이 설정
max-idle-time과 max-life-time설정
spring.cloud.gateway.httpclient.pool.type=FIXED
spring.cloud.gateway.httpclient.pool.max-connections=10
spring.cloud.gateway.httpclient.pool.max-idle-time=30s
spring.cloud.gateway.httpclient.pool.max-life-time=60s
spring.cloud.gateway.httpclient.pool.eviction-interval=60s
max idle time은 연결이 종료된 후 대기하는 유휴시간을 의미
max life time은 풀이 생성된 후 생성유지 시간이다.
eviction-interval은 시간마다 연결을 체크해서 idletime과 lifetime이 초과된 풀을 반납한다.
위와 같은 형태로 active connections, idle connections, totalconnections을 확인할 수 있음.
1분마다 로그가 남는데 시간을 더 줄이고 싶으면 LoggingMeterRegistry를 생성해야 한다.
@Configuration
public class MetricsConfig {
@Bean
public LoggingMeterRegistry loggingMeterRegistry() {
LoggingMeterRegistry loggingMeterRegistry = new LoggingMeterRegistry(new LoggingRegistryConfig() {
@Override
public String get(String key) {
return null;
}
@Override
public Duration step() {
return Duration.ofSeconds(5);
}
}, Clock.SYSTEM);
return loggingMeterRegistry;
}
}
step에 설정된 시간만큼 로깅함(5초)
728x90
반응형
'Spring' 카테고리의 다른 글
Spring boot netty access log 남기는 방법 (0) | 2024.01.12 |
---|---|
Spring Actuator 란 무엇일까 (0) | 2023.10.29 |
스프링부트 구동할 때 초기화 코드 넣는 방법(CommandLineRunner, ApplicationRunner) (0) | 2023.10.29 |
Spring WebFlux 란 무엇일까 (0) | 2023.08.10 |
Spring @RequestMapping multi request 요청받기 (0) | 2023.02.22 |