구글 클라우드 상태 확인(GoogleHC) 때문에 서버가 터지다.

2018. 4. 28. 23:26·Dev
반응형

갑자기 서버가 10분 정도의 주기로 계속 재생성되는 현상이 있었다. 오토 스케일링이나 상태 확인(Health Check) 설정이 잘못된건지 살펴보며 1주일만에 겨우 원인을 밝혀냈다.

원인

구글 클라우드 부하 분산(로드 밸런서)는 안정성을 위해서 한 개가 아니라 여러개가 여러 가용성 존에서 동시에 들어간다. 그런데 이번에 구글이 무슨 업데이트를 한 건지 이 서버들이 엄청나게 늘어났다. 기존에 초당 4번 정도만 확인하던 상태 확인 요청이 수십개로 늘어나니까 부하를 견디지 못한 것이다.

당시 마인리스트는 상태 확인을 전용 엔드포인트(예를 들어 /_health 같은 페이지)가 아닌 메인 페이지에 했었다. 문제는 당시 마인리스트의 메인 페이지는 캐싱조차 제대로 설정되지 않은 상태였다. 대량으로 늘어나는 상태 확인용 요청들을 버티지 못한 것이다.

해결책

상태 확인 경로를 자원을 많이 필요로 하지 않는 페이지로 설정하거나, 상태 확인용 엔드포인트를 만들어서 해결할 수 있다. 혹은 페이지 성능을 개선해서 문제가 없도록 최적화를 해도 된다.

반응형
'Dev' 카테고리의 다른 글
  • Docker-compose 환경변수 재사용
  • [CSS] 보노보노급 줄바꿈 문제를 해결하자
  • Ubuntu apt-get 저장소 바꾸기
  • [Node.js] KS_C_5601-1987 to UTF-8 변환
ryush00
ryush00
IT 관련 글이 올라와요
    반응형
  • ryush00
    말똥이의 블로그
    ryush00
  • 전체
    오늘
    어제
    • 모든 글 (225)
      • 블로그 (13)
        • 공지 사항 (5)
        • 블로그 운영 팁 (6)
        • 기타 (2)
      • IT (69)
        • 정보글 (51)
        • 리뷰 (8)
        • 심층 분석 (5)
        • NAS (5)
      • Game (44)
        • Minecraft (40)
        • 게임 정보글 (4)
      • Dev (53)
        • PHP (1)
        • HTML & CSS (0)
        • Ruby (3)
        • DB (2)
        • 클라우드 (2)
        • 행사 (0)
        • 삽질 방지 (20)
      • 마인리스트 (10)
      • 이모저모 (21)
        • 나의 생각 (7)
        • 나의 일상 (4)
        • 유용한 것들 (3)
        • 노하우 (6)
      • 휴지통 (0)
      • 안전 (0)
        • 베리어프리 (0)
        • 교통 안전 (0)
  • 블로그 메뉴

    • 전체글
    • 공지사항
  • 링크

    • 마인리스트
  • 공지사항

    • 저작권 안내
  • 인기 글

  • 태그

    맥
    apk
    티스토리
    안드로이드
    howto
    애플
    클라우드플레어
    NAS
    php
    구글 지도
    오류
    bukkit
    토렌트
    삽질
    spigot
    구글 지도 반출
    시놀로지
    개발
    java
    티스토리 초대장
    마인크래프트
    마인리스트
    MySQL
    해킹
    블로그
    CloudFlare
    아이폰
    ruby
    Ruby on Rails
    문제해결
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ryush00
구글 클라우드 상태 확인(GoogleHC) 때문에 서버가 터지다.
상단으로

티스토리툴바