본문 바로가기

공부/TIL

24.02.02

요즘 하도 문서화 작업을 많이 하다보니까 TIL에 소홀했다.

이번총망라한 TIL을 작성해보자.

이번주 우리는 알림 기능을 완성했다.

SSE를 이용해 클라이언트가 자신의 id로 구독을 하고, 이벤트가 발생하면, 관련된 id를 갖는 클라이언트는 해당 이벤트를 가져간다. 하지만 알림 기능은 프론트 작업이 추가적으로 필요해서 우선 운영서버에 도입되는건 중지했다.

그리고 우리가 했던 것은 쿼리 최적화. 

탑스터 GET요청 한번에 너무 많은 쿼리가 발생한다. 따라서 부하 테스트시 서버가 못버티는 것을 확인했다.

우리의 분석은 탑스터는 매팽된 연관관계가 너무 많아 N+1 현상이 일어날것이다. 

우리는 BATCH SIZE를 50으로 걸어서 N+1 현상을 막았다. 또한 페이지네이션을 도입해 한번에 너무 많은 데이터를 불러올 수 없도록 막았다. 이를 통해 2분동안 17만건의 조회 요청을 무리없이 견딜 수 있게 됐다.

우리는 이걸 대용량 트래픽 처리라고 생각했는데, 이건 대용량 처리 트래픽이라기보단, 서버 부하 테스트에 가깝다라고 튜터님들이 말씀하셨다. 듣고보니 그게 맞다. 우리 서버가 하나가 띄워져 있을 때 이정도의 부하를 버틸 수 있다는 테스트니까. 대용량 트래픽은 로드밸런서, 오토스케일링과 같은 관점에서 봐야 한다고 하셨다.  

'공부 > TIL' 카테고리의 다른 글

24.02.13  (0) 2024.02.15
24.02.05  (0) 2024.02.05
24.01.26  (1) 2024.01.26
24.01.24  (0) 2024.01.24
24.01.23  (0) 2024.01.23