개요

스프링으로 포팅하면서 이전보다 느리게 오는 응답에 대해서 문제점을 분석하고, 이를 해결하기 위해서 DB와 백엔드 코드에서 어떻게 해결할 수 있을지에 대해서 분석해보려고 한다.

겪고 있는 문제

서비스의 웹 뷰에서 사용자가 로그인 후 가장 먼저 하게 되는 행동은 특정 층의 사물함 전체 조회다. 기존 Nest.js 백엔드에서는 100회 평균 약 80ms로 응답속도가 빨랐는데, 스프링 포팅 이후에 해당 호출이 100회 평균 약 520ms로 급격히 상승했다😱

문제 진단


Postman을 이용한 응답 시간 측정

웹 개발을 경험해본 사람들에게 익숙한 Postman은 API를 테스트하기 위한 API 플랫폼이다. Postman에는 Runner라는 기능이 있는데, 본인이 설정해놓은 HTTP 요청을 특정 시간과 간격, 딜레이 등등을 두어서 테스트 해볼 수 있다.

100회 평균 87ms로 좋은 응답 속도를 보이고 있다.

100회 평균 87ms로 좋은 응답 속도를 보이고 있다.

한편..

약 4배 이상이 차이가 나는 어마무시한 속도를 보여주고 있다.

약 4배 이상이 차이가 나는 어마무시한 속도를 보여주고 있다.