Engineering
Load Balancer 통계 기능 (TOAST Service 들여다 보기)
2019년 9월 4일
원문에서 보기 ↗로드밸런서는 유입된 트래픽을 인스턴스로 분배하기 위해 사용하는 서비스입니다.
TOAST 로드밸런서 서비스를 이용하면 인스턴스 하나로 처리하기 힘든 부하를 여러 대의 인스턴스로 분산하여 처리량을 높일 수 있고, 장애가 발생했거나 점검중인 인스턴스를 자동으로 서비스에서 제외시켜 서비스의 가용성을 높일 수 있습니다.
TOAST는 작년 말부터 로드밸런서와 관련된 여러가지 통계 차트를 기본 제공하고 있는데요. 오늘은 이 기능에 대해 말씀드리고자 합니다.
통계 차트 보기
통계 차트를 보는 방법은 아래 그림과 같이, 생성한 로드밸런서를 선택한 뒤 통계 탭을 선택하고 통계를 나타낼 리스너를 선택하면 됩니다. 로드밸런서에 여러 리스너를 등록하신 경우엔 (5) 리스너 선택 에서 다른 리스너를 골라보세요.
[그림 1] 로드밸런서 통계 기능 화면
로드밸런서 통계 기능 특징
아래는 TOAST 로드밸런서 통계 기능의 특징입니다. 많은 기능들이 숨어 있으니 천천히 살펴보시면 좋겠습니다.
- 로드밸런서를 생성하면 통계 기능이 자동 활성화됩니다.
- 로드밸런서 리스너별 17가지의 통계 차트가 제공됩니다.
- 1시간, 24시간, 1주, 1달, 지정 기간 등으로 기간을 분류하여 통계량을 볼 수 있습니다.
- 로드밸런서를 기준으로 클라이언트 통계량과 인스턴스 통계량이 서로 다른 차트로 제공됩니다.
- 인스턴스 통계량은 멤버 인스턴스별로 구분하여 볼 수 있고, 취합한 결과만을 볼 수도 있습니다. (인스턴스별로 보기: ON/OFF)
- 기본 6가지 통계 차트만 화면에 나타나게 할 수 있고, 확장된 17개의 통계 차트를 한꺼번에 나타낼 수도 있습니다. (통계 확장: ON/OFF)
[그림 2] 로드밸런서 통계 기능 예시
로드밸런서 통계 차트 목록
TOAST 로드밸런서는 다음과 같은 17개의 통계 차트를 제공합니다.
| 통계 지표명
(차트명) | 통계 수집 대상 | 기본 / 확장 | 단위 | 설명 | | --- | ---- | --- | --------- | -- | | 클라이언트 세션 개수 | 클라이언트 | 기본 | ea | 로드밸런서가 클라이언트와 연결 중인 세션수 | | 클라이언트 세션 CPS | 클라이언트 | 기본 | cps (connections per second) | 클라이언트와 1초 동안 새로 연결한 세션수 | | 세션 CPS | 인스턴스 | 기본 | cps | 인스턴스와 1초 동안 새로 연결한 세션수 | | 인스턴스로 보낸 트래픽 | 인스턴스 | 기본 | bps(bits per second) | 로드밸런서가 인스턴스에 보낸 트래픽양 | | 인스턴스로부터 받은 트래픽 | 인스턴스 | 기본 | bps | 인스턴스가 로드밸런서에게 보낸 트래픽양 | | 로드밸런싱 제외 개수 | 인스턴스 | 기본 | ea | 상태 확인(health check) 실패로 인해 로드밸런싱 대상에서 제외된 횟수 | | 클라이언트로부터 받은 트래픽 | 클라이언트 | 확장 | bps | 클라이언트가 로드밸런서에게 보낸 트래픽양 | | 클라이언트로 보낸 트래픽 | 클라이언트 | 확장 | bps | 로드밸런서가 인스턴스에게 보낸 트래픽양 | | 응답 시간 | 인스턴스 | 확장 | second | 인스턴스로 요청을 보내고 응답을 받은데까지 걸린 시간 | | 연결 오류 | 인스턴스 | 확장 | ea | 로드밸런싱 대상 패킷을 인스턴스에 보내려 할 때 TCP 연결이 되지 않은 횟수 | | 소켓 오류 | 인스턴스 | 확장 | ea | 로드밸런싱 대상 패킷을 인스턴스에 보내려 할때 소켓 오류가 발생한 횟수 | | 상태 확인 실패 개수 | 인스턴스 | 확장 | ea | 인스턴스 상태 확인 실패한 횟수 | | HTTP 상태 (1XX) | 인스턴스 | 확장 | ea | 인스턴스가 HTTP 100번대 응답을 보낸 횟수 | | HTTP 상태 (2XX) | 인스턴스 | 확장 | ea | 인스턴스가 HTTP 200번대 응답을 보낸 횟수 | | HTTP 상태 (3XX) | 인스턴스 | 확장 | ea | 인스턴스가 HTTP 300번대 응답을 보낸 횟수 | | HTTP 상태 (4XX) | 인스턴스 | 확장 | ea | 인스턴스가 HTTP 400번대 응답을 보낸 횟수 | | HTTP 상태 (5XX) | 인스턴스 | 확장 | ea | 인스턴스가 HTTP 500번대 응답을 보낸 횟수 |
로드밸런스 통계 기능의 활용 예시
아래와 같이 통계 기능을 활용하시면 어떨까요?
- 클라이언트 세션 개수, 클라이언트 세션 CPS 및 각종 트래픽양과 관련된 차트를 통해 시스템이 어느 수준으로 데이터를 처리하고 있는지 기간별로 확인할 수 있습니다.
- 로드밸런싱 제외 개수, 상태 확인 실패 개수 차트, 연결 오류, 소켓 오류 차트를 통해 인스턴스에 문제가 발생한 시점을 파악할 수 있습니다.
- 응답 시간 차트를 통해 인스턴스의 지연시간 변화 추이를 확인할 수 있습니다.
- HTTP 상태 차트를 통해 HTTP 응답 코드별 통계 정보를 확인할 수 있습니다.
참고 사항
아래는 TOAST 로드밸런서 통계와 관련된 참고 사항 및 제약 사항입니다.
- 통계 데이터는 최대 1년 동안 제공됩니다.
- 2018년 11월 27일에 로드밸런서 통계 기능이 추가되었기 때문에 이 날짜 이전 통계 데이터는 제공되지 않습니다.
- 현재 사용 중인 로드밸런서, 리스너, 멤버에 대해서만 통계 차트가 제공됩니다.
- 로드밸런서 자원(로드밸런서, 리스너, 멤버)을 삭제하는 경우 해당 자원의 과거 통계 데이터는 제공되지 않습니다.
- 로드밸런서의 통계 데이터가 웹콘솔 통계 차트에 반영될때까지 약 3분의 지연시간을 갖습니다.
- 단위가 ea인 차트는 설정한 기간에 따라 수치의 의미가 달라질 수 있습니다. 수치의 의미는 개별 차트 상단 물음표에 마우스를 올리면 확인할 수 있습니다.
- 네트워크 트래픽량과 관련된 지표에서 차트에 표현되는 수치는 L2, L3, L4 헤더의 크기가 제외된 페이로드 전송 크기를 단위 시간으로 나눈 데이터입니다. 따라서 차트에 표현되는 수치는 과금 데이터와 무관합니다.
- HTTP 상태와 관련된 5가지 차트는 HTTP 또는 TERMINATED_HTTPS 프로토콜을 사용하도록 설정된 리스너에서만 제공됩니다.