Batch 작업 사이에 API Fail

Gunjoo Ahn·2022년 10월 1일
0

문제: 성능 부하 테스트에서 몇개의 FAIL

배치 작업하여 MongoDB에 저장한 결과물을 가져오는 API 성능 부하 테스트를 진행하였는데 Fail하는 경우가 전체 Request 중에서 2% 정도 발생하였다. 언제 발생하는지 보니 Scheduler가 딱 새로운 배치 작업하면서 업데이트하고나서 잠깐동안 Fail이 나는 것을 확인하였다.

원인

이유는 간단했다. 최신 배치 결과를 가져오기 위해서 최신 배치 결과 ID를 스태틱 변수에 저장하는데, 이 ID를 먼저 최신 ID로 바꾸고 MongoDB에 배치 작업한 데이터를 삽입하고 있었다. 그래서 MongoDB에 새로운 배치를 저장하기 직전 없는 데이터를 조회하느라 API가 실패하고 있던 것이다.

해결

순서 바꿔서 해결하였다.

profile
Backend Developer

0개의 댓글