Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

테스트 환경 성능 개선기 (feat. ApplicationContext Caching & Spring Batch)

월급쟁이부자들 favicon월급쟁이부자들·Backend·
KotlinSpring BootKotestMockKSpring Batch
2025년 08월 06일0

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

월급쟁이부자들이 ApplicationContext 캐싱 이슈로 인한 Spring Batch 테스트 성능 저하를 개선하고 CI 피드백 시간을 크게 단축했습니다.

구현 방법

  • @MockKBean 대신 mockk()로 Mock 객체를 생성해 Spring Context 로딩을 줄임
  • 필요 시에만 @SpringBootTest/@SpringBatchTest를 사용하고, 불필요한 중복 어노테이션 제거
  • 단위/데이터 레이어별로 테스트 범위를 구분하여 @DataJpaTest와 @AutoConfigureTestDatabase(replace = Replace.NONE) 적용
  • RedisService 등 특정 컴포넌트만 최소 구성으로 테스트에 주입
  • 메모리 과부하 완화를 위해 JVM 힙 메모리 512MB에서 1GB로 증설(임시 완화책)

주요 결과

  • 힙 사용량: 744MB → 415MB, Size: 1073MB → 536MB (약 40–50% 감소)
  • CI 실행 시간: 50분대에서 4–5분대으로 단축
  • 테스트 수 증가에도 안정적 피드백 제공 (419개에서 720개 테스트 수준에서의 개선)

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
새벽에 시작한 배치가 퇴근할 때 끝난다면? — 10시간짜리 숙소 연동 배치 20분 만에 끝낸 이야기(Spring Batch) 섬네일
75%

새벽에 시작한 배치가 퇴근할 때 끝난다면? — 10시간짜리 숙소 연동 배치 20분 만에 끝낸 이야기(Spring Batch)

반려생활 favicon반려생활·2025년 08월 28일
국밥 같은 단위테스트 시나리오로 마음 든든하게 개발하기 섬네일
75%

국밥 같은 단위테스트 시나리오로 마음 든든하게 개발하기

펫프렌즈 favicon펫프렌즈·2025년 09월 25일
월급쟁이부자들의 부하테스트를 위한 k6 도입기 섬네일
74%

월급쟁이부자들의 부하테스트를 위한 k6 도입기

월급쟁이부자들 favicon월급쟁이부자들·2023년 09월 18일