opensurvey (IDINCU) 성능 개선기 – (짧은 동영상)

오픈서베이의 성능 개선 이야기 with WhaTap !

오픈서베이의 성능 개선기를 카드뉴스, 텍스트 등 다양한 방식으로 보여드렸습니다.

이번에는 동영상이 궁금하지만 시간이 없는 분들을 위해, 파트별로 분리된 동영상들을 준비했습니다. 필요한 부분만 골라서 보세요.

blog_signup_banner_b (3)

 

 

서비스 소개 및 도입 계기

여느 스타트업처럼 빠르게 시장에 침투하기 위해 SSA(Single Service Architecture)로 출발을 하였습니다. 글로벌 서비스로 성장하면서 MSA(Micro Service Architecture)로 전환이 필요하게 되었고, 그 여파로 시스템은 더 복잡해졌습니다.

결국 병목 지점을 더 찾기가 힘들어졌고, 문제의 원인을 찾을 만한 여유가 없어 서버를 재시작하고, Scale Out 즉 용량을 늘리는 문제로 해결을 했습니다. 하지만 메모리를 비롯한 서버 비용에 대한 부담이 증가하였습니다.

문제를 해결하기 위해 다양한 방법을 시도하였으나…

VisualVM, Observium, Graylog, ELK stack 등 다양한 시스템을 도입해 문제들을 개선하긴 했지만, 이것조차 한계에 부딪혔습니다.

기존의 모니터링 시스템들은 대부분 실시간 기반이기 때문에, 문제가 생겼을 때 해당 시스템을 켜서 보고 있어야 합니다. 그러나 실제 상황에서는 시스템을 보고 있을 시간도 없고 확실성도 떨어졌습니다.  구축하는데 개발자들의 자원도 많이 들어갔고요. 

 

opensurvey (IDINCU) 성능 개선기 – (짧은 동영상) 더보기

opensurvey (IDINCU) 성능 개선기 – (상세 내용)

오픈서베이의 성능 개선 이야기 with WhaTap !

 

 

blog_signup_banner_b (3)

이번 글을 시작으로 와탭 모니터링을 이용한 성능 개선 사례들을 종종 공유하고자 합니다. 첫 번째 주인공은 IDINCU입니다.

 

IDINCU(아이디인큐)의 제품 소개

product_lineup_idincu_img

IDINCU는 국내 모바일 설문조사에서 선두를 달리고 있는 스타트업으로, 오픈서베이와 오베이라는 두 가지 제품을 제공합니다.

오픈서베이는 설문을 만들고, 설문의 타겟을 설정하고, 설문 결과를 보여줄 수 있는 플랫폼이며, 오베이는 패널들이 설문에 응답할 수 있는 플랫폼입니다.

글로벌하게 두 가지 서비스가 함께 운영되다 보니 사업적인 모델뿐만 아니라 내부 시스템 도 복잡해졌습니다. 

 

도입 계기

여느 스타트업처럼 빠르게 시장에 침투하기 위해 SSA(Single Service Architecture)로 출발을 하였습니다. 글로벌 서비스로 성장하면서 MSA(Micro Service Architecture)로 전환이 필요하게 되었고, 그 여파로 시스템은 더 복잡해졌습니다. 이 과정에서 원래 사용하던 legacy system을 한 번에 걷어내는 것은 쉽지 않았기 때문에 legacy와 새로운 시스템이 공존하게 되었습니다.

결국 병목 지점을 더 찾기가 힘들어졌고, 문제의 원인을 찾을 만한 여유가 없어 서버를 재시작하고, Scale Out 즉 용량을 늘리는 문제로 해결을 했습니다. 하지만 메모리를 비롯한 서버 비용에 대한 부담이 증가하였습니다.

 

문제를 해결하기 위해 다양한 방법을 시도하였으나…

VisualVM, Observium, Graylog, ELK stack 등 다양한 시스템을 도입해 문제들을 개선하긴 했지만, 이것조차 한계에 부딪혔습니다.

기존의 모니터링 시스템들은 대부분 실시간 기반이기 때문에, 문제가 생겼을 때 해당 시스템을 켜서 보고 있어야 합니다. 그러나 실제 상황에서는 시스템을 보고 있을 시간도 없고 확실성도 떨어졌습니다.  구축하는데 개발자들의 자원도 많이 들어갔고요. 

 

opensurvey (IDINCU) 성능 개선기 – (상세 내용) 더보기

모바일 앱 리뉴얼 이야기 – 10,000개 이상의 데이터 처리와 차트 반응성 올리기

중국 진출의 고민 – ‘모바일에서도 문제의 원인을 파악할 수 있도록’ 데이터를 어떻게 보여 줄까?

기존의 WhaTap 모바일 앱은 WebView 기반으로 차트를 보여줬습니다. 서버 상태를 확인하고, 장애 알림을 받는데 집중을 하였죠.

와탭은 중국 진출을 앞두고 있으며, 중국에서는 웹 보다 모바일을 더 많이 사용합니다. 즉 Mobile-Native 여야만 살아 남을 수 있죠. 그래서 모바일 앱의 중요성이 대두되었으며, 모바일에서도 모든 문제 상황을 판단할 수 있도록 만들어야 했습니다.

그래서 이번 모바일 앱 1.5 신 버전에는 ‘어떻게 빠짐없이 모든  문제 상황을 잘 보여 줄 수 있을까?’를 고민했고, 결국 그 해답으로 차트 표현에 집중하게 되었습니다.

즉, 웹에서 느끼지 못 하는 모바일만의 사용자 경험을 드리는데 많은 고민을 했습니다.

 

10,000개 이상의 데이터를 Native Chart로 보여 주기 위해 생긴 고민들…

하루를 표현하는 1분 데이터는 1,440개. 물려 있는 서버의 수집 단위 (CPU, Memory, Network Card 별 트래픽, 무수한 프로세스 정보, 무수한 디스크 정보)가 많으면 하나의 서버에서도 10,000개 이상의 데이터를 다뤄야 하는 상황이 발생했습니다.

또한 리뉴얼을 진행한 안드로이드 앱은 다양한 디바이스의 상황에 맞게 설계해야 했습니다. 안드로이드는 다양한 사양과 화면의 디바이스들이 있기 때문에 최소 사양과 다양한 화면 비율까지 지원해야 합니다.

하지만, 10,000개가 넘는 데이터를 수집하여 차트를 그리려면 기본적으로 디바이스의 CPU와 Memory를 많이 사용하기 때문에, 사용자의 시나리오를 고려해 어떻게 데이터를 수집하고 표현할지 많은 고민을 했습니다.

모바일 앱 리뉴얼 이야기 – 10,000개 이상의 데이터 처리와 차트 반응성 올리기 더보기

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

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

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

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

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

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

newrelic issue

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

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

WhaTap이 보내드리는 장애 보고서

이번 글에서 WhaTap의 성능 분석 보고서에 대해 소개하고자 합니다. 많은 서비스 회사들이 서비스 운영 중에 부딪히는 장애로 어려움을 겪고 있으며, 장애를 미리 예측하거나 감지하여 보고해 줄 수 있는 도구들을 찾고 있습니다.  하지만 시스템의 많은 문제를 발견하게 되면 무엇부터 잡아야 할까요?

APM 사용에 익숙해지면 괜찮지만, 처음 사용하시는 분들이 많은 지표 중에 무엇이 문제인지, 장애가 될 수 있는 잠재적 요인을 미리 안다는 것은 어려운 일입니다. 

WhaTap은 이러한 문제를 해결하기 위해, 생성한 프로젝트의 사용자에 help@whatap.io를 추가해 주시면 모니터링 하면서 장애가 발생하거나, 장애가 예상되는 부분에 대해 보고서를 보내드립니다.   

 

성능 / 장애 보고서 

이 보고서는 OpenSurvey 서비스를 운영하시는  IDINCU 제품 총괄 분께서 흔쾌히 실제 사례를 사용해도 좋다고 허락해 주셨습니다.  정말 감사드립니다.

(슬라이드 상에서는 공간의 제약 문제로 보고서의 이미지가 잘 보이지 않으니, 불편하시더라도 슬라이드를 확대하여 자세히 보시는 것을 추천합니다.)

WhaTap이 보내드리는 장애 보고서 더보기