project list 조회 query 속도 측정

권희·2025년 10월 9일

졸업작품

목록 보기
6/7

목차

  1. 이전 refactoring 소개 / query 측정 대상
  2. query 속도 측정 방법
  3. 결과

1. 이전 refactoring 소개 / query 측정 대상

project list 조회 기능은 현제 3차 refactoring까지 진행된 상태이다 그 중 query 측정 대상은 2,차 3차 refactoring이다
2차 refactoring이후 느려진 query를 최적화하기 위한 3차 refactoring의 결과를 정확히 측정하기 위함이고 이후 4차 refactoring을 진행할 지 여부를 판단하기 위해서 정확한 query 속도를 측정하게 되었다
2차 refactoring 3차 refactoring

2. query 속도 측정 방법

측정 방법

다양한 방법들을 조사했지만 안그래도 부족한 배포 서버 위에 무언가를 추가로 올리는 것은 별로 하고싶지 않았기에 test code를 작성하여 측정하기로 생각했다
원래라면 배포 서버 위에서 측정해야 하는 것이 맞지만 배포 서버에 올라가 있는 프로젝트가 졸업 작품 한 개가 아니기 때문에 다른 프로젝트의 영향을 받을 수 있다고 판단해서 개인 pc에서 test 코드를 돌려서 확인하기로 결정했다

더미 data

정확한 측정을 위해 더미 data를 생성하는 코드부터 작생했다 db에 data를 직접 넣는 방법도 존재하겠지만 join된 table들의 fk값을 모두 신경쓰기 귀찮고 더미 data를 넣는 과정은 시간이 오래 걸려도 상관없기 때문에 이또한 test코드로 작성해버렸다

@Test
public void insertUser100() {
  for(int i = 0; i < 100; i++){
    userService.saveUser(getDummyDto());
  }
}

이전 user service의 save함수를 그대로 가져다 쓸 수 있었기 때문에 더미 dto를 만드는 함수만 구현하면 됬다

결과

  • user data 100개
  • project data 1000개
  • funding data 4만개
    (project 당 free 20개, option 20개)
n차 refactoring내가 생성한 project 조회funding data 포함
2차 refactoring946ms1118ms
3차 refactoring21ms344ms
profile
나의 개발 기록

0개의 댓글