본문 바로가기
MiddleWare(상용 미들웨어)/WebtoB

[WebtoB] Schedule 에 대하여

by wonkidoki 2025. 7. 31.
반응형

- WebtoB 에 Thread에는 Schedule 이라는 설정이 있는데, JEUS와 연결된 Thread를 어떤 알고리즘으로 분배할 것인지에 대한 설정이다.

- 오해가 있는 부분 중 하나가 WebtoB <-> JEUS 간에는 RoundRobin 으로 분배가 된다는 것인데, 정확하게는 WebtoB-JEUS 간 연결된 Thread 가 RoundRobin 으로 분배가 되는 것이다.

 

예를 들어 이중화된 Thread 가 각 WebtoB로 10개씩 연결 돼있다면 WebtoB1 Thread 20개, WebtoB2 Thread 20개가 설정 돼있을 것이다.

새로운 요청이 들어올 경우 WebtoB는 Thread 를 통해 JEUS로 요청이 넘어가게 되는데 JEUS1과 연결된 Thread1, Thread2, Thread3 순서로 요청을 받아 넘기게 될 것이다.(RR)

Thread20 까지 사용할 경우 JEUS2와 연결된 Thread1, 2, 3...으로 분배가 될 것이다.

 

- RoundRobin 외에 First Assign 방식(FA)이 있으며 이 방식은 우선순위에 따른 요청 할당 방식이다.

예를 들어 이중화된 Thread 가 각 WebtoB로 10개씩 연결된 상태에서 요청이 들어온다면 JEUS1과 연결된 Thread1이 우선순위가 가장 높다고 할때 Thread1로 들어올 것이고 Thread1이 RUN 이 아닌 이상 계속 Thread1로만 요청이 넘어가게 된다.

Thread1이 RUN 이거나 BRUN 일 경우 Thread2에 요청이 넘어가게 된다. 그렇기 때문에 사용하는 Thread만 계속 사용하는 효과가 생긴다.

 

Thread 3개 일때 요청 9개가 들어온다면

Round Robin 인 경우

Thread1 요청 3

Thread2 요청 3

Thread3 요청 3

 

First Assign 인 경우

Thread1 요청 9

Thread2 요청 0

Thread3 요청 0

 

위와 같을 수 있다.

 

다음은 Schdule 설정에 대한 설명이다.

Schedule

  • 종류: String
  • 범위: RR | FA
  • 기본값: RR
  • 클라이언트로부터의 Request를 처리할 때 해당 Request를 받아서 처리할 서버 프로세스를 지정하는 방법을 설정한다.
  • 다음은 설정값에 대한 설명이다.
  • 설정값설명
    RR Round Robin 방식으로 Idle한 서버 프로세스에 요청을 할당한다.
    FA First Assign 방식으로 우선순위(index)가 높고 Idle한 서버 프로세스에 요청을 할당한다.

사용 예시(*SERVER 절)

*SERVER
s_test
    SvgName = g_test,
    Schedule = "FA",             # "RR"

    ...