로드밸런서는 Health Test 결과를 바탕으로 서버의 상태를 파악하고 있고 설정된 로드밸런싱 알고리즘에 따라서 정상적인 서버로 트래픽을 연결합니다.
따라서 로드밸런서가 하는 역할중 가장 기초가 되는것이 어떤 서버가 살아있고 어떤 서버가 죽었는지를 파악하는겁니다.
각 서버의 작동상태를 제대로 파악하지 못하면 멈춰있거나 문제가 있는 서버에 계속해서 트래픽을 보내주게 되고
그러면 정상적으로 서비스를 제공받지 못하는 클라이언트가 생기게 되죠.
ARR은 아래의 두가지 방법으로 웹서의 정상작동 유무를 파악합니다.
- URL Test
지정한 URL로 정해진 시간간격으로 리퀘스트를 보내서 정해진 응답코드를 정해진 시간내에 반환하는지를 체크해서 응답에 이상이 있을경우에는 서버가 Unhealthy로 변경됩니다.
Unhealthy로 체크된 서버는 다음 체크때 정상응답을 하면 Healthy로 되돌아갑니다.
- Live Traffic Test
모든 응답의 상태코드를 파악해서 정해진 허용범위를 벗어났을경우에 서버가 Unhealthy로 변경됩니다. 웹어플리케이션의 시스템에러가 연쇄적으로 발생하여 관리자의 확인이 필요한 경우등에 유용하게 사용됩니다.
Unhealthy로 체크된 서버는 자동적으로 Healthy로 되돌아 가지않습니다. Healthy로 되돌리려면 관리자가 수동으로 되돌리거나 다음 URL Test때 응답이 성공하면 Healthy로 되돌아감.
아래의 설정페이지의 각 설정값을 봐가면서 자세히 알아보도록 하겠습니다.
| 설정 | 설명 |
| URL | 테스트를 할 URL입니다. 이미지 파일이나 텍스트 파일 또는 정적인 HTML파일등 서버에 부담이 적은 요청을 테스트할 수 있는 URL을 지정합니다. |
| Interval (초) | 테스트할 시간간격입니다. |
| Time-Out (초) | 응답 timeout을 지정합니다. 10으로 지정하면 응답이 10초이상 지연되면 실패한것으로 판단합니다. |
| Acceptable status codes | 정상으로 인식할 응답코드입니다. |
| Response match | 응답에서 특정 문자열을 검색하여 성공실패 여부를 판단합니다. 예를들어 success를 지정하면 응답되는 내용에 success가 있어야만 성공한걸로 판단합니다. |
| Failure codes | 요청 실패로 인식할 응답코드입니다. |
| Maximum failures | 허용할 최대 요청실패 수입니다. |
| Failover period(초) | 설정한 시간동안 위의 Maximum failures에 설정한 실패가 발생한 경우 서버를 Unhealthy로 체크합니다. 0으로 설정하면 이 기능을 사용하지 않습니다. |
| Minimum severs | 정상가동중이어야 할 최소 서버수입니다. 3으로 설정했는데 정상인 서버가 2대라면 ARR서버에서 일부 유저의 요청을 거절합니다. (라고는 되어있는데 실제 확인해보기가 어렵더군요. 혹시 성공하신분이 계시면 알려주세요) |
Health Test를 위한 프로퍼티를 입력한 후에 Verify URL Test를 클릭하여 정상적으로 수행되는지를 확인해보고 Action Pane의 저장을 클릭하여 설정을 저장합니다.
'IIS' 카테고리의 다른 글
| ARR을 사용하여 간단 로드밸런싱 웹팜 구성하기 3 - 로드밸런싱을 위한 Health Test의 이해 (0) | 2011/11/27 |
|---|---|
| ARR(Application Request Rounting) 사용하여 간단 로드밸런싱 웹팜 구성하기 2 - ARR 설정하기 (0) | 2011/11/24 |
| ARR(Application Request Rounting) 사용하여 간단 로드밸런싱 웹팜 구성하기 1 - ARR 설치하기 (0) | 2011/10/31 |
| IIS 확장기능(부하분산) ARR - Application Request Routing 이란 (0) | 2011/10/24 |
![]() |
![]() |
|
![]() |
![]() |
![]() |


Prev





