Java
-
spring-boot actuator의 메트릭 정보와 grafana dashboard(+prometheus)를 이용해서 다양한 정보를 모니터링할 수 있다. 해당 정보 중에서 오늘은 GC 관련된 dashboard를 확인해 보자. grafana의 dashboard를 직접 작성하지 않고 이미 작성된 유용한 내용들을 import해와서 사용할 수 있는데오늘은 아래 dashboard에서 제공하는 내용을 살펴보자.https://grafana.com/grafana/dashboards/11378-justai-system-monitor/ 각각 그래프를 나타내기 위한 지표는 아래와 같다GC count : jvm_gc_pause_seconds_count..
[Java] GC 관련 metric 모니터링spring-boot actuator의 메트릭 정보와 grafana dashboard(+prometheus)를 이용해서 다양한 정보를 모니터링할 수 있다. 해당 정보 중에서 오늘은 GC 관련된 dashboard를 확인해 보자. grafana의 dashboard를 직접 작성하지 않고 이미 작성된 유용한 내용들을 import해와서 사용할 수 있는데오늘은 아래 dashboard에서 제공하는 내용을 살펴보자.https://grafana.com/grafana/dashboards/11378-justai-system-monitor/ 각각 그래프를 나타내기 위한 지표는 아래와 같다GC count : jvm_gc_pause_seconds_count..
2025.04.02 -
java 언어를 사용해서 개발하는 대부분의 application은 spring을 사용할 것이다.spring-boot 3.0부터는 java17 버전 이후만 지원한다고 하니java17 버전을 사용하기 위해서 공부해 보자. switch문 개선기존 Java 11:switch는 int, String 등에만 사용 가능, case마다 break 필수Java 17 변경점:switch에서 패턴 매칭을 지원하여 다양한 타입을 처리 가능case 안에서 break 없이 바로 값 반환 가능static String test(Object obj) { return switch (obj) { case Integer i -> "Integer: " + i; case String s -> "String: " ..
[Java] 17 버전 주요기능java 언어를 사용해서 개발하는 대부분의 application은 spring을 사용할 것이다.spring-boot 3.0부터는 java17 버전 이후만 지원한다고 하니java17 버전을 사용하기 위해서 공부해 보자. switch문 개선기존 Java 11:switch는 int, String 등에만 사용 가능, case마다 break 필수Java 17 변경점:switch에서 패턴 매칭을 지원하여 다양한 타입을 처리 가능case 안에서 break 없이 바로 값 반환 가능static String test(Object obj) { return switch (obj) { case Integer i -> "Integer: " + i; case String s -> "String: " ..
2025.03.29 -
도메인명에 매핑된 ip 정보가 있을 텐데 이를 캐싱처리를 하는 것이 -> DNS CachingJVM단에서 이러한 캐싱 처리를 하고 있으니 -> JVM DNS Caching VIP, GSLB와 같은 기능을 이용하는 경우 상황에 따라서VIP의 경우에는 RIP가 변경될 수 도 있고GSLB의 경우에는 매핑이나 비율이 바뀌어야 되는데 캐싱처리 영향으로 의도한 바가 정확히 동작하지 않을 수 있다.보통의 HA(high availabilty)(고가용성)을 이루기 위해 VIP, GSLB 등을 사용한다. 이러한 상황을 방지하기 위해서 TTL 설정이 필요하다. 설정 방법Java 8 버전 $JAVA_HOME/jre/lib/security/java.security8 버전 이상 $JAVA_HOME/conf/security/j..
[Java] JVM DNS Caching TTL 설정(networkaddress.cache.ttl)도메인명에 매핑된 ip 정보가 있을 텐데 이를 캐싱처리를 하는 것이 -> DNS CachingJVM단에서 이러한 캐싱 처리를 하고 있으니 -> JVM DNS Caching VIP, GSLB와 같은 기능을 이용하는 경우 상황에 따라서VIP의 경우에는 RIP가 변경될 수 도 있고GSLB의 경우에는 매핑이나 비율이 바뀌어야 되는데 캐싱처리 영향으로 의도한 바가 정확히 동작하지 않을 수 있다.보통의 HA(high availabilty)(고가용성)을 이루기 위해 VIP, GSLB 등을 사용한다. 이러한 상황을 방지하기 위해서 TTL 설정이 필요하다. 설정 방법Java 8 버전 $JAVA_HOME/jre/lib/security/java.security8 버전 이상 $JAVA_HOME/conf/security/j..
2025.02.03 -
option 설명 etc -Xms 초기 Heap 메모리 size Heap -Xm 최대 사용 가능한 Heap 메모리 size Heap -XX:MetaspaceSize 초기/최소 metaspace size metaspace -XX:MaxMetaspaceSize 최대 metaspace size metaspace defaul = -1 ( unlimited ) -java.net.preferipv4stack=true IPv4, IPv6 중에 IPv4를 더 우선으로 사용 defaul = false
[Java] JVM 옵션 정리option 설명 etc -Xms 초기 Heap 메모리 size Heap -Xm 최대 사용 가능한 Heap 메모리 size Heap -XX:MetaspaceSize 초기/최소 metaspace size metaspace -XX:MaxMetaspaceSize 최대 metaspace size metaspace defaul = -1 ( unlimited ) -java.net.preferipv4stack=true IPv4, IPv6 중에 IPv4를 더 우선으로 사용 defaul = false
2024.04.21