버그 트래킹 일지(5) - 대망의 적용 배포 그리고 결론

웹 서비스(Spring Framework)의 세션을 Membase(현재의 Couchbase)로 관리하면서 발생한 이슈입니다. 이슈를 해결해 나가는 과정을 기록으로 남깁니다.

Posted by kingbbode on February 22, 2017

Recently by the same author:


3년차 웹 개발자

4년차로 접어든 웹 개발자의 3년차 늦은 회고

You may find interesting:


SpringOne Tour Seoul - Spring Cloud Gateway

스프링 원 투어 서울 컨퍼런스 중 정윤진님의 Spring Cloud Gateway 세션


스프링캠프 2018-Consumer Driven Contract

Consumer Driven Contract 기법을 활용한 마이크로서비스 API의 진화

주니어개발자의 버그 트래킹 일지입니다!

주 내용은 웹 서비스의 세션을 Membase(현재의 Couchbase)로 관리하면서 발생한 이슈입니다. 이슈를 해결해 나가는 과정을 기록으로 남깁니다.

버그 트래킹 일지(1) - 시작은 사전지식 확보부터
버그 트래킹 일지(2) - 로그를 보자!
버그 트래킹 일지(3) - 임시방편보단 장기적으로
버그 트래킹 일지(4) - 의심하고 또 의심하자
버그 트래킹 일지(5) - 대망의 적용 배포 그리고 결론

버그트래킹 환경

  • Membase Server

    • Version : 1.7.2
    • Node

      • 4개
      • 노드당 Replica 2개
      • 노드당 할당 메모리 2GB
    • Bucket

      • 1개
      • 메모리 8GB(노드당 메모리 * 노드 수)
    • 각 서버 스팩

      • RAM 8GB
      • HDD 30GB
  • WEB Server

    • Spring Boot Web Application(version 1.2)
      • SpyMemCached(version 2.7.3)

대망의 적용 배포 그리고 결론

  • 불필요 요청 제거
  • 동적 빈 생성 모듈 개발
  • Spring Security Skip Filter 개발

위 과정을 거쳐, 지난 2월 14일 릴리즈!

결과는?

great

효과가 굉장했다!

result

배포 직후 급감하기 시작하더니,

result

감소 이후 안정적인 형태를 보이기 시작합니다!

result

oepration 감소로 이루려고 했던 disk write queue도 매우 크게 감소했습니다.

결론

operation : 97% 감소
disk write queue : 99.9% 감소
cpu 사용량 : 95% 감소
서비스 영향 : 없음

효과가 굉장했다!

마무리

Membase의 1도 모르는 상태에서 Bug Tracking을 해보았습니다.

오래된 프로젝트인지라 버전이 너무 낮아 문서를 찾기도 힘들었고…

Forum 답글

한국 사용자 모임이 없는 Couchbase에 영어로 질문을 해가며(결론은 버전을 올리란,,) 힘겹게 문제를 해결해나가 보았습니다.

Forum 답글

긴 버그 트래킹(약 2주) 끝에 Operation 이상을 확인했고, 끊임없이 의심하며 기존 시스템을 바꾸어 나갔고 결과적으로 서비스에 큰 안정화를 가져올 수 있었습니다.

서버의 메모리부터 각종 데몬들과 용어들까지, 코드 외에도 알아야하고 배워나가야하는게 정말 많다는 것을 느꼈습니다. 이번 Bug Tracking 경험이 나중에 있을 개발에 많은 도움이 될 것 같습니다.

끝!