V-logue

트러블 슈팅 - 조회 성능 개선 본문

발자취

트러블 슈팅 - 조회 성능 개선

보그 2022. 8. 8. 15:31

1) 조회 성능, 병목 개선

  • 조회 API에서 다수의 레코드를 JOIN하여 가져오는 데이터를 가공하며 코드 가독성이 떨어지고, 요소가 늘어날 수록 분해 - 재할당 연산이 증가하며 시간- 공간 복잡도를 체감할 수 있어 기존 sequelize 쿼리와 JS 로직을 재고하였습니다.
    1. sequelize 를 이용하여 반복문을 최소화하는 방안은 ORM 메서드 상 정밀한 가공의 어려움으로,
    2. MySQL 자체 RAW QUERY의 GROUPING과 서브쿼리 응용으로 데이터 SELECT 시점부터 가공되어 응답해 연산 비용 낭비를 최소화했습니다.
    • 결과적으로 API 클라이언트 익스텐션을 이용한 연속적인 조회 요청시 평균 200ms에서 120ms로의 조회 성능이 개선되었습니다.

 

Comments