대파양파애비
'성능' 태그의 글 목록

Backend dev?

Web/NestJS

[NestJS] DB커넥션을 최소화하고 Service부에 부하를 줘야하는 이유.

오늘은 별건 아니고, 배포중인 어플에서 뉴스 댓글 목록을 불러올때 2~3초 가량 소요되서 이 코드를 리팩토링 하였다. 리팩토링은 왜 할까 ? 1. 성능향상, 가독성 향상 2. 유사한 내용이 반복될때 코드의 중복 제거 3. 새로운 기능을 추가할 때 위 세가지 이유가 제일 핵심적인 이유다. 기존 코드를 Swagger에서 돌려 보았을때 두 눈을 의심했다. 이게 목록 불러오는 @Get API를 단 한번 실행 시킨것이다.... 물론 Response값으로 다양한 값이 필요하긴 하지만 이건 말이 안된다. 이러니 목록 불러올때 2~3초 가량 로딩시간이 걸렸던 것이다. 실행된 사진 속 쿼리문을 보니 중복된 테이블에서 SELECT가 여러번 이루어 지는걸로 보아 for문을 돌면서 그 안에서 DB커넥션이 여러번 이뤄지고 있는..