× Join the Stack and Retry Community
sarc.io is a community of engineers or programmers, just like you, helping each other.

Apache HTTP Server mod_jk worker method=B 설정.

  • zero1320
  • zero1320's Avatar 이 글의 작성자
  • Offline
  • ★★ Staff ★★
  • ★★ Staff ★★
  • 탐캣
20 Feb 2018 14:18 - 20 Feb 2018 15:53 #3247 작성자: zero1320
zero1320 님의 글: Apache HTTP Server mod_jk worker method=B 설정.
Apache에서 mod_jk를 이용한 WAS 와의 연결 설정을 할 때,
workers.properties에서 worker 설정을 하게 된다.


해당 worker 설정들 중에서 method=B 라는 설정이 있는데, round-robin 과 유사하게 동작한다고 한다.
이것은 현재 진행중인 reuest 갯수가 적은 것으로 골라 보낸다고 설명이 되어 있다.

영문 설명:
method=B (busyness): choose the worker with the lowwest number of
requests currently in processing.

method=R (requests): choose the worker that did the lowest number of
requests until now

method=T (traffic): choose the worker that received+sent the lowwest
number of bytes until now

In case you use "busyness", you might observe behaviour that's very
close to round-robin during times of very low load. If load is very low,
most of the time all workers will have no request in processing. So the
busyness counter will always be equal to zero. Then mod_jk will pick on
worker after the other, similar to round-robin.

method=B 사용시, 다음을 유의한다.
Remember: method "B" tries to keep "Busy" even. This could mean, that
the workers get different numbers of requests over a longer time.

이것의 한 예로, 요청량이 많지 않던 서비스였는데 두개의 worker에서 한쪽으로만 쏠리는 현상이 발생하였던 적이 있었다.
모니터링된 그래프를 보니, 데칼코마니처럼 서로 벌어져 있었다.
worker 1이 증가할때 worker 2가 감소하고, worker 1이 감소할때 worker 2가 증가하면서 worker1로만 상대적으로 더 많은 request가 몰렸다.
Request양이 많은 동일 구성의 서비스에서는 Load Balancing이 정상적으로 되는 것으로 보였다.

method=B를 주석처리하여 해결하였지만, 항상 골고루 Load Balancing은 되는 것 같지 않다.

해당 mothod를 이용해서 이런 현상이 발생한 원인은 무엇일까요?

난 너무 멋져
좋아요를 누른 살쾡이: jeeg
Time to create page: 0.110 seconds
Powered by Kunena Forum