배경

정리 : Moit 서비스는 불규칙한 위도와 경도 쿼리가 계속해서 발생하는 서비스로, Read 비율이 지배적이다. 뿐만 아니라, 제한된 자원(모임 제한 수)에 대한 경합이 높아 동시에 많은 사용자가 모임에 참여할 때 성능 문제가 발생할 수 있다.

계획

  1. 성능 모니터링: API의 성능을 모니터링하여 병목 현상이 발생하는 시기와 원인을 파악

    ⇒ 로그, 지표 및 모니터링 도구인 PrometheusGrafana 도입

  2. 로깅 및 추적: API 호출에 대한 로그를 기록하고, 각 요청의 경로를 추적하여 병목 현상이 발생하는 부분을 식별

    ⇒ 어떤 요청이 병목 현상을 일으키는지 파악 [현재 진행해야 할 과제]

  3. 성능 테스트: API에 대한 부하 테스트를 수행하여 병목 현상이 발생하는 지점을 확인

    ⇒ API가 어느 정도의 부하를 견딜 수 있는지 확인 [현재 진행해야 할 과제]

  4. 코드 리뷰 및 최적화: API 코드를 검토하고 성능을 최적화

    ⇒ 비효율적인 쿼리, 느린 알고리즘 또는 메모리 누수와 같은 문제 식별 및 수정

  5. 캐싱: 빈번히 요청되는 데이터나 연산 결과를 캐싱하여 서버 부하 줄이기

    ⇒ API의 응답 시간을 개선 + 병목 현상을 완화

  6. 수집 및 분석: API 호출에 대한 데이터 수집 및 분석

    ⇒ 병목 현상의 근본적인 원인 파악

    ⇒ 장기적인 성능 개선을 위한 방향성 제시

테스트 툴 의사결정 과정