[제니퍼 사례] 드라마틱한 성능 개선 효과, 150만 사용자에게 안정적인 서비스를 제공하다.

팬마음

팬마음은 두 개의 서비스를 제공하고 있으며 150 만 사용자가 사용하고 있다. 올해 초 두번째 서비스가 공개되기 이전에는 일 최대 TPS 가 60 정도 발생했으며, 신규 서비스 런칭 이후 2017년 10 월 현재 일 최대 262 TPS 까지 발생하고 있다. 매월 이벤트를 진행하고 있으며, 이벤트 진행 시 최대 1338 TPS 이상의 호출이 발생하고 있다. 웹서버는 4~5 개가 운용되고 있으며 이벤트 기간에는 평균 동시 접속자수가 최대 8 천 명에서 1 만 명이 넘게 사용하고 있는 서비스다.

Q. 제니퍼 사용 시작일 : 2017년 6월 12일 부터                                       

Q. 무엇을 모니터링 했는가? : WAS와 DB를 모니터링했다.  

Q. 왜 제니퍼인가?: 다른 PHP 모니터링 솔루션을 몇 개 찾아보고 검토했으나, GUI 지원의 불편함, 서버 자체가 국내에 있는데 해외 솔루션을 쓰기엔 다소 느려지는 부분 등 여러 가지 문제가 발생했다. 하여 국내에서 서비스하는 제니퍼를 사용하게 되었다. 지속적으로 사용하다 보니, 정말 여러가지로 마음에 드는 솔루션이었다.

Q. 주로 개선된 점은 무엇인가? : 도입 이전에는 서버 장애 발생 시 평균 대응 시간이 2-3 시간이었다면, 제니퍼를 도입한 이후 대응 시간은 10 분 이내로 줄어들었다. 팬마음은 서버 장애를 제니퍼 화면 통해 바로 확인하여 수정할 수 있게 되었고 개발자의 직관에 의지해서 처리하던 부하 지점을 찾는 것 또한 실제 문제 있는 지점을 찾아 수치적으로 수정하게 되어 훨씬 더 실질적인 서비스를 제공할 수 있게 되었다.제니퍼의 구체적인 사용 방법과 제니퍼를 통해 해결된 사항: 제니퍼를 사용하는 방법은 아주 간단했다. 원격 에이전트를 설치하고 AMI 를 생성한 후 Auto Scale 그룹에 추가했으며, 이후 모니터링은 머신이 런칭되면 자동으로 연결되어 서비스 이용이 가능했으니 매우 심플하고 편리했다. 여러 가지 로그 분석툴을 사용해 봤으나 제니퍼의 간편한 설치와 사용은 최고라고 말할수 있다. 또한, 실시간으로 발생하는 장애 지점의 확인, 자주 호출하는 파일의 확인, 트랜잭션당 소요 시간을 기준으로 정렬해서 볼 수 있는 방법은 우리에게 정말 많은 도움이 되었다.         

Q.제니퍼 사용 후 변화된 업무 처리 방법은 무엇인가? 제니퍼를 도입하기 이전에는 ‘도대체 서버를 얼마나 쓰는가?’와 ‘이 비용을 내고 서버를 운영하는 것이 맞는가?’에 대한 질문을 많이 받고 있었다. 제니퍼를 도입하며 가장 먼저 한 일은 경영진에게 제니퍼 대시보드를 공유하고, 일일 시스템 성능 페이지를 매일 출력해 전달함으로써 서비스의 비용적인 부분과 효율적인 사용에 대해서 커뮤니케이션을 할 수 있게 되었다는 것이다. 또한, 직관적인 문제 확인이 가능하게 되어 장애가 발생하면 운영팀에서 바로 대시보드 확인 후 개발팀에 연락하면서 지연되는 API 를 말해주도록 커뮤니케이션 방침을 세우면서 개발팀은 보다 빨리 문제를 찾아(기존에는 전화/문자로 ‘서버가 안 돼요’라고 전달했다면 ‘ㅇㅇㅇ API 가 빨갛게 떠 있고, 없어지지도 않으며 몇 초 동안 켜져있고, 다른 호출이 작동하지 않아요’라고만 말했었다.) 디테일하게 전달 할 수 있게 되었다.

더 자세한 팬마음의 성능 개선 효과가 궁금하시다면 PDF를 다운받으세요.  >> 팬마음, 제니퍼 도입 사례 리포트 다운로드 링크 ]

CHUING

제니퍼의 다양한 분석 기능은 단 1개월 만에 그동안 원인을 알 수 없던 다양한 성능 이슈의 원인을 찾게 해주었다. 대부분의 서버 부하의 원인은 게시물 및 이 미지 로딩 방식의 문제였고, 원인을 찾지 못했던 다양 한 서버 부하의 원인 또한 초기에 예상하지 못했던 다 양한 코딩 미스였다는 것을 파악 후 수정은 매우 효율 적으로 진행됐다. 현재 츄잉은 제니퍼의 다양한 기능을 통하 여, 사용자가 오류를 신고하기도 전에 오류를 파악할 수 있게 되었으며 제니퍼를 통해 알게 된 다양한 성능 이슈를 하나씩 고쳐가고 있다.

Q. 제니퍼 사용 시작일 : 2017. 06월 말부터 

Q. 무엇을 모니터링했는가? 츄잉에서 사용하는 서버는 총 3종류이다.주요 모니터링 내용은 대부분 각 서버의 성능 이슈 그리고 ERROR 트랜잭션에 대한 모니터링을 하고 있다.

 Q. 제니퍼 사용 업무 처리 방법에서 변화된 점이 있다면 어떤 것이 있나? 

제니퍼 사용 전과 후의 변화는 크게 두 가지이다. 첫 번째로는 장애 대처의 변화에 있고, 두 번째로는 성능 개선 방법의 변화이다. 장애 대처의 경우 기존 서버의 부하에 의해 장애가 발생할 경우, 트래픽 원인을 파악하여 해당 트래픽 영역에 접근을 제한하는 등의 임시적인 대응만 가능했고, 성능 개선 또한 코드 리뷰 등의 방법으로만 가능했다. 하지만 제니퍼 사용 이후, X-VIEW의 상세한 프로파일 기능과 통계 기능으로 장애의 원인과 성능 개선에 대해 원인 분석부터 개선된 결과까지 상세하게 그리고 실시간으로 모니터링 할 수 있었다. 특히, 그래프와 수치로 정확하게 기록되는 제니퍼의 시스템은 비 전문가인 사용자나 운영팀에게 장애의 정도와 해결 경과 등을 쉽게 전달할 수 있었기에 내부 커뮤니케이션에 많은 도움이 되었다.

Q. 제니퍼를 향후에도 활용할 계획이 있는가?

제니퍼를 앞으로 활용한다면, 지속적인 서비스 개선과 향후 개발의 품질 향상 등에 이용할 예정이다. 제니퍼의 성능 모니터링 기능은 지속적인 애플리케이션 품질 향상에 기여할 수 있을 것으로 기대되며, 개발 일정에 제니퍼를 통하여 코드 리뷰와 성능 리뷰를 진행할 예정이다. 또한, 현재 시스템 모니터링 대상이 CPU 사용량과 메모리 사용량 등 이었지만, 제니퍼를 통한 페이지 지연 시연을 최우선 모니터링 대상으로 지정해 서비스 상태 모니터링에도 다양하게 활용하려고 한다.

더 자세한 츄잉의 성능 개선 효과가 궁금하시다면 PDF를 다운받으세요.  >> 츄잉, 제니퍼 도입 사례 리포트 다운로드 링크 ]