누워서 보는 웹 애플리케이션 성능 II – 다운 샘플링이 가져오는 왜곡 현상들

이전 글(누워서 보는 웹 애플리케이션 성능 – 평균과 분포)에서는 개별 응답시간을 평균 응답시간으로 표현할 경우 왜곡 현상이 발생되는 것을 다루었습니다. 간단히 말해 Y축의 데이터를 평균화 시키면서 나타나는 왜곡 현상입니니다. 이번 글에서는 샘플링 주기(X축의 데이터 왜곡 현상)가 가져 오는 문제점 및 와탭이 APM/SMS 서비스를 운영하면서 만난 유사한 문제들과 그 해결책을 공유하고자 합니다.

APM에서 발생하는 샘플링 문제 

N사의 APM을 사용하면서 고객들이 가지는 몇몇 고충들이 있었는데요…

  • 장애가 난 후 적게는 몇 분에서, 많게는 몇십 분이 지난 후에 장애를 인지하게 된다.
  • 성능에 대한 문제가 발생했음에도 불구하고 응답시간이 낮은 트랜잭션의 비율이 많으면  문제가 안 보인다.

실제 Quora에 올라온 글입니다.

newrelic issue

간단히 요약하면, ‘N사는 1분 평균의 데이터를 보여주기 때문에 최근 20초 동안 애플리케이션에 문제가 발생하더라도, 나머지 40초 간의 정상적인 트랜잭션으로 인해 데이터가 평균화 되면서 실제 문제를 못 보는 경우가 발생한다.’라는 것입니다.

누워서 보는 웹 애플리케이션 성능 II – 다운 샘플링이 가져오는 왜곡 현상들 더보기

가용성이란? 이론적 배경과 와탭에 추가된 가용성 대시보드 & 일일 리포트

가용성!! 서버 관리자, 백엔드 개발자, 아니 회사 입장에서는 정말 중요한 단어입니다. 서비스가 무정지 운행되어야 한다는 것은 정말 중요한 일이죠.

가용성/안정성에 대한 정의에 대해서 먼저 이야기 나누도록 하죠. 이전에 와탭의 황희선 님이 공개했던 Fault Tolerance 패턴의 글을 발췌합니다 .

안정성

시스템이 특정 기간 동안 장애가 없는 정도를 나타내며, MTTF(Mean Time To Failure)값을 지표로 삼습니다. MTTF는 아래 그림에서와 같이 시스템 수리 후 혹은 처음 시작해서 고장이 날 때까지의 시간을 말합니다.

MTTFMTTF(Mean Time To Failure)

MTTF 시간이 길수록 장애 없이 시스템이 사용자에게 서비스를 제공하는 시간이 길므로, 안정성은 높다고 할 수 있습니다.

예를 들자면, 시카고에서 로스앤젤레스로 가는 비행기의 경우 MTTF가 5시간보다 커야 합니다. 이는 시카고에서 로스앤젤레스까지 비행 거리가 5시간이고 이 시간에는 장애가 발생하면 안 되기 때문입니다.

가용성

시스템이 기능을 수행할 수 있는 기간이 전체 가동 기간의 몇 퍼센트인지 나타내며, MTTF(Mean Time To Failure)값과 MTTR(Mean Time To Repair)값을 지표로 사용합니다. MTTR은 아래 그림에서와 같이 시스템 고장 후 수리가 되기까지의 시간을 말합니다.

MTTF2MTTF(Mean Time To Failure), MTTR(Mean Time To Repair)

MTTF(장애가 나기까지 평균 보장) 시간이 길수록 장애 없이 시스템이 서비스를 제공하는 시간이 길어지므로, 가용성은 높아집니다. MTTR(수리하는데 걸리는) 시간이 길수록 수리시간이 길어 그 만큼 시스템이 서비스를 제공하는 시간은 짧아지므로, 가용성은 낮아집니다.

예를 들자면, 4ESS™ 스위치는 40년간 고장시간을 2시간만 허용합니다. 즉 가용할 수 없는 시간이 연간 3분 이내여야 함을 의미합니다.
가용성이란? 이론적 배경과 와탭에 추가된 가용성 대시보드 & 일일 리포트 더보기

와탭으로 하이브리드 클라우드 모니터링 하기 (폐쇄망을 위해 DMZ 지원 기능 추가)

많은 기업들이 순수하게 Public Cloud만 사용하기 보다, 기존의 IDC와  Public Cloud를 병행해서 사용하는 Hybrid Cloud 환경을 선호합니다.

기존의 기저 부하를 IDC에서 처리하고, 피크 타임 때의 부하를 클라우드로 대처한다거나, 반대로 핵심 트랜잭션들은 물리적 서버의 사용을 선호하고,  나머지 트랜잭션을 클라우드를 사용하는 등 다양한 방식으로 사용하고 있습니다.

하이브리드 클라우드(Public 클라우드와 기존  IDC, Private Cloud를 병행해서 사용하는) 환경의 고객들은  폐쇄망 환경에  데이터베이스 서버 등 핵심 서버들이 다수 존재하고 있었습니다. 하지만 와탭을 이용하는 많은 고객들이 전체 서버들을 모니터링하기 위해 인트라넷에서 존재하는 서버들의 모니터링 요청이 증가하였고, DMZ에 Proxy를 쉽게 구성할 수 있는(유료 사용자 한정) 기능을 추가하였습니다.

이번 호에서는 폐쇄망에 있는 서버들이 네트워크 DMZ를 경유하여 와탭을 모니터링하는 방법을 소개합니다. 저희와 유사한 SaaS 솔루션 업체라면, 꼭 고민해 보셔야 하는 기능입니다.

와탭으로 하이브리드 클라우드 모니터링 하기 (폐쇄망을 위해 DMZ 지원 기능 추가) 더보기

자가진단 프로그램 WhaTap-Doctor 소개 (agent 설치 문제 진단)

 

 

와탭 서버 모니터링 소개

와탭은 리눅스, 윈도우, 라즈베리 파이 등 다양한 서버 환경을 모니터링하는 솔루션입니다. 무료와 유료 서비를 모두 제공하고 있으니 서버 운영시 꼭 설치하셔야 되는 Must Have 아이템이 아닐까 싶습니다.

와탭은 전통적인 물리 서버 환경은 물론 클라우드 환경에 적합한 서버 모니터링을 지원합니다. 다수의 국내 대기업, 중소기업, 스타트업 기업들이 애용하고 있으며, 이미 전 세계 8,000여 대의 서버를 모니터링하고 있는 솔루션 입니다.

 

‘쉬운 설치’가 와탭의 핵심가치 

와탭은 SaaS형 모니터링 솔루션으로,  5분에 1,000대를 모니터링 할수 있는 쉬운 설치를 제공하고 있습니다. 기존 설치형 서버 모니터링이 도입을 위해 한 달이 걸린 것에 비해, 쉽게 도입할 수 있게 하는데 많은 노력을 하였습니다 .

와탭의 서버 모니터링은  agent 설치 기반으로 데이터를 추출하는 방식을 사용하고 있으며,  적은 자원을 이용하여 많은 데이터를 수집하기 위해 노력하고 있습니다.

랩에서 수많은 테스트를 거쳐 안정성을 검증하고 있지만  랩에서 재현되는 않는 현장의 특이한 상황(네트워크 단절 등)으로 agent 설치가 되지 않는 다양한 문제들이  있었고, 매번 그 문제들을 직접 대응하는데 많은 시간과 비용이 들었습니다.

고객도 쉽게 와탭의 agent가 잘 설치 되었는지 판단할 수 있고,  설치 상의 문제가 발생했을 때 와탭 운영팀이 쉽게 문제의 원인을 판단할 수 없을까 고민중에 Doctor 프로그램을 개발하게 되었습니다.

스크린샷 2016-05-26 오전 8.01.44
그림 1 닥터 프로그램 제공 전과 후

자가진단 프로그램 WhaTap-Doctor 소개 (agent 설치 문제 진단) 더보기