[#61] 커넥션 고갈 해결을 위한 로그인 이력 저장 비동기 처리 #62

Merged
pricelees merged 9 commits from refactor/#61 into main 2025-10-14 00:28:45 +00:00
Owner

📝 관련 이슈 및 PR

PR과 관련된 이슈 번호

작업 내용

  • 이력 저장을 비동기 + Batch Insert로 구현하여 기존의 '로그인 완료 - 이력 저장(동기)' 로직, 특히 이력 저장을 별도의 트랜잭션으로 진행하며 발생하던 커넥션 고갈 문제를 해결
  • 이벤트를 수신하면 In-Memory Queue에 저장하게 되어, OOM 발생 가능성이 있다고 판단. => 100개가 넘어가는 순간 바로 Batch Insert를 수행하도록 함.

🧪 테스트

  • 로컬 환경에서 Login API만 별도로 성능 테스트 => 기존 로직에서는 70VU에서 다운, 개선 후 1000VU, 초당 558번의 요청에서도 정상 동작
  • 테스트 결과 메모리 사용량의 큰 변화 없이 커넥션 고갈 문제 해결

📚 참고 자료 및 기타

<!-- 제목 양식 --> <!-- [이슈번호] 작업 요약 (예시: [#10] Gitea 템플릿 생성) --> ## 📝 관련 이슈 및 PR **PR과 관련된 이슈 번호** - #61 ## ✨ 작업 내용 <!-- 어떤 작업을 했는지 알려주세요! --> - 이력 저장을 비동기 + Batch Insert로 구현하여 기존의 '로그인 완료 - 이력 저장(동기)' 로직, 특히 이력 저장을 별도의 트랜잭션으로 진행하며 발생하던 커넥션 고갈 문제를 해결 - 이벤트를 수신하면 In-Memory Queue에 저장하게 되어, OOM 발생 가능성이 있다고 판단. => 100개가 넘어가는 순간 바로 Batch Insert를 수행하도록 함. ## 🧪 테스트 <!-- 어떤 테스트를 생각했고 진행했는지 알려주세요! --> - 로컬 환경에서 Login API만 별도로 성능 테스트 => 기존 로직에서는 70VU에서 다운, 개선 후 1000VU, 초당 558번의 요청에서도 정상 동작 - 테스트 결과 메모리 사용량의 큰 변화 없이 커넥션 고갈 문제 해결 ## 📚 참고 자료 및 기타 <!-- 참고한 자료, 또는 논의할 사항이 있다면 알려주세요! -->
pricelees added the
Kind/Enhancement
label 2025-10-14 00:28:35 +00:00
pricelees self-assigned this 2025-10-14 00:28:35 +00:00
pricelees added 9 commits 2025-10-14 00:28:36 +00:00
pricelees merged commit bba3266f3f into main 2025-10-14 00:28:45 +00:00
Sign in to join this conversation.
No description provided.