Middleware/Tuning 4

JVM 옵션을 통한 성능 튜닝 이해

JVM의 옵션 튜닝은 JVM으로 기동 되는 미들웨어나 애플리케이션의 성능에 영향을 끼칠 수밖에 없다. 따라서 JVM 옵션의 튜닝 포인트를 명확히 이해하고 적용하는 것이 애플리케이션이나 미들웨어의 성능을 최적화하는 최선의 방법이다. 이번 포스팅에서는 JVM 옵션 적용을 통한 성능의 튜닝 포인트에 대해 다루워 보려고 한다. 일반적인 성능 튜닝의 정의 성능 튜팅에 앞서 '성능'을 어떤 관점에서 바라볼 것인가에 대한 기준이 필요하다. 일반 적으로 성능은 TPS와 응답 시간으로 구분될 수 있는데 JVM을 튜닝하기 전 TPS에 초점을 둘 것인지 응답 시간에 초점을 둘 것인지 정한 뒤 성능 튜닝에 초점을 맞추는 것이 필요하다. TPS(Transaction Per Seconds) 응답시간(Response Time) 1..

Middleware/Tuning 2021.08.13

Java GC 알고리즘 및 주요 옵션

GC(Garbage Collection)와 전제 조건 사용하지 않는 메모리를 자동으로 회수하여 가용한 공간을 만드는 작업 GC 전담 thread가 별도로 존재하여 메모리가 부족하다고 판단되는 시점에 주기적으로 일어남 이러한 GC는 다음의 전제 조건 (weak generational hypothesis)이 있음 대부분의 객체는 금방 접근 불가 상태(unreachable)가 됨 오래된 객체에서 젊은 객체로의 참조는 아주 적게 존재함 GC를 진행하는 주체를 Garbage Collector(가비지 컬렉터)라 하고 가비지 컬렉터는 애플리케이션의 할당된 동적 메모리를 자동으로 관리하는 주체로서 다음의 동작들을 통해 동적 메모리 관리를 자동으로 수행 메모리를 운영체제에 할당하고 반환 요청 시에 메모리를 애플리케이션에..

Middleware/Tuning 2021.07.28

Java Heap 메모리 옵션

JVM의 메모리 영역은 Runtime Data Areas내에 그 기능에 따라 5가지 영역으로 나뉘어 있는데 그 중에서도 new 키워드를 통해 객체를 생성하고 모든 개체와 해당 인스턴스 변수 및 배열이 저장되는 영역을 Heap 영역이라 한다. 또한 이 Heap 영역은 다시 그 기능에 따라 Eden, Servivor0, Servivor1, Old, Permenant 등으로 그 영역이 세분화 되며 이 Heap 영역에서 참조하는 변수나 필드가 존재하지 않으면 GC의 대상이 된다. 이러한 GC는 Minor GC와 Major GC로 나뉜다. Minor GC : New 영역에서 일어나는 GC 최초에 객체가 생성되면 Eden영역에 생성된다. Eden영역에 객체가 가득차게 되면 첫 번째 GC가 일어난다. survivor..

Middleware/Tuning 2021.07.26
반응형