두숟갈 스터디 - 16
백엔드
두숟갈 스터디 - 16
두줄요약
Django의 쿼리·캐시·정적 파일 중심 성능 개선 방법을 정리했습니다.\nCelery 비동기 큐의 적합한 용도와 멱등성·데이터 보관 주의점을 살펴봤습니다.
구조와 흐름
- Django 성능 개선 대상의 계층별 구분: 쿼리, 데이터베이스, 캐시, 정적 파일
- 중복·느린 쿼리 제거와 인덱스 최적화, 캐시 무효화 시점 설계
- 정적 파일 압축·최소화와 CDN·업스트림 캐시 활용
선택 이유
- 처리 시간이 길고 사용자 즉시 확인이 불필요한 작업에 비동기 태스크 큐 활용
- 즉시 결과가 필요한 작업에는 태스크 큐 미적용
주의할 점
- 재시도를 고려한 태스크 멱등성 유지
- 중요 데이터는 Celery 큐가 아닌 데이터베이스에 보관하고 큐에서는 조회·처리
- 태스크의 컴퓨팅 자원 소모와 비효율적 구현에 따른 병목 가능성
적용해볼 점
- PostgreSQL의 캐시 히트율과 인덱스 사용 방식 점검
- 이메일 발송 상태 플래그를 통한 재시도 시 중복 발송 방지
- 초기 서비스 단계에서 불필요한 사전 최적화 지양
