Response Time, Think Time, Request interval.. 등 다양한 옵션이 있는데
WebLogic (외 기타WAS) Thread 는 무엇으로 튜닝하면 좋을까
Thread 개수는 보통 평균 Active User 수로 하는것이 적당하다.
> 예를 들어, 동시에 300명이 접속하고, 응답시간은 3초, 사용자들이 보내는 다음 요청까지 시간이 15초
이 경우 300*3 / (15+3) = 50
쓰레드 수는 50개가 적당하다.
다만, 피크타임 등을 생각했을 때, 50개는 과부하의 위험이 있으므로 50개는 최소 스레드의 값으로 적당하다.
일반적으로 쓰레드 수는 50~100개 정도를 둔다고 한다.
웹로직은 최대 400개 까지 지원하지만 보통은 그렇게 쓰지 않는다.
그럼 이어서 위와 같은 상황이지만, 유저수가 5배 더 많을때는 어떻게 WAS를 구성할까?
평균 Active User 가 약 300이므로,
3개의 JVM 스레드 100개 (instance 3대) 또는 5개의 JVM에서 스레드 60개 (instance 5대) 등으로 구성할 수 있다.
실 성능은 직접 비교를 해봐야 하는데, 위와같이 3개, 5개의 인스턴스는 스레드의 갯수 만으로 결정하는 방식이고 그 외에 메모리 크기나 GC, CPU 등 복합적인 요소를 생각하여 서버 및 스레드를 튜닝해야 한다.
> 결론으로는 하나의 도메인은 다음과 같은 구성이 일반적이라고 볼 수 있다.
1. Failover 를 위해 2개 이상의 인스턴스 구성
2. 힙메모리 낭비를 막기 위한 적절한 메모리(GC 테스트 이후 결정, 애플리케이션에 따라 다름)ㅖ
3. 50~100개 정도의 스렏그
4. Full GC 가 최대 4초가 되지 않을 수 있도록
'IT 공부 > Web-WAS' 카테고리의 다른 글
[WebLogic] 웹로직 현재 패치버전 확인 방법 (0) | 2024.04.19 |
---|---|
[WebLogic] 12c 이상에서 java weblogic.Admin ~~ 안되는 이유 (0) | 2024.04.17 |
[WebLogic] MSI 모드 사용 방법 (1) | 2024.04.06 |
[WebLogic] 웹로직 계정 초기화 방법 (0) | 2024.03.31 |
[WebLogic] 웹로직 패치 받는 방법 (0) | 2024.03.29 |