← 테크곳간 목록으로

펫프렌즈 기술블로그 · 2026. 01. 27.

Next.js에서 QueryClient를 전역변수로 사용해도 될까요?

AI 엔지니어링 브리핑

Next.js 서버에서 QueryClient를 전역변수로 만들어 사용하면 요청 데이터가 계속 남아 메모리 누수가 생길 수 있으므로, 서버 환경에 맞는 생성 방식이 필요합니다.

문제 & 배경

문제 & 배경: 펫프렌즈는 Next.js 서버의 메모리가 시간이 지날수록 계속 증가하고 가비지 컬렉션으로도 회수되지 않아 성능 저하와 반복적인 서버 재시작을 겪었습니다.

기술 & 해결책

기술 & 해결책: 원인은 서버에서 전역변수로 생성한 QueryClient가 요청별 데이터를 계속 붙잡고 있었기 때문이며, 이 글은 해당 구현이 공식 권장 방식과 다름을 확인하고 원인을 분석해 해결하는 과정을 다룹니다.

교훈 & 주의점

교훈 & 주의점: 브라우저와 달리 서버의 메모리 누수는 여러 사용자의 요청에 걸쳐 누적되므로, Next.js와 TanStack Query를 사용할 때도 서버·브라우저 환경에 맞는 공식 사용 패턴을 지켜야 합니다.

원문 읽기 ↗
내용이 비슷해요

내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.