목록 보기
Coroutine Async 로 지도보기 API 성능 개선하기
백엔드

Coroutine Async 로 지도보기 API 성능 개선하기

여기어때
여기어때
2025년 12월 22일

두줄요약

지도보기 API의 병목이던 표준 상품 API 호출을 동적 window 분할과 Coroutine Async로 병렬화했습니다. 그 결과 응답 시간을 8~10초에서 약 2초로 줄이고 TPS도 크게 개선했습니다.

문제 상황

  • 지도보기 기능의 주변 100개 제휴점 조회와 최저가 표시 과정에서 응답 시간이 8~10초까지 지연
  • Search API 이후 표준 상품 API 호출 구간이 병목으로 작용
  • 캐시 미스 시 TPS 30 수준으로 사용성 저하

원인 분석

  • 표준 상품 API가 제휴점 단위 최저가 계산을 순차 처리하며 처리 시간이 누적
  • 제휴점 수가 30개 수준인 PLP와 달리 100개를 한 번에 조회하는 지도 화면에 동일한 호출 구조를 적용
  • 내부 로직 수정이 어려운 외부 서버라 호출 방식만 조정 가능

해결 방법

  • 제휴점 수에 따라 1~3개 window로 동적 분할
  • Kotlin Coroutine의 async와 Dispatchers.IO로 표준 상품 API를 병렬 호출
  • awaitAll로 결과를 병합해 지도 핀 데이터 생성

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...