
48
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
MongoDB CQRS 성능 개선기
이 게시물은 네이버페이 정산 시스템에서 대용량 데이터 조회 성능 개선을 위해 CQRS 패턴과 MongoDB를 도입한 경험을 공유합니다.성능 병목 원인 분석
- MongoDB 조회 성능과 엑셀 라이브러리 튜닝으로는 엑셀 다운로드 속도 개선에 한계
- Tomcat에서 Flux 리턴 타입으로 NDJSON을 스트리밍할 때 한 줄씩 blocking 발생
- NDJSON은 각 JSON 객체를 개행 문자로 구분하며, Tomcat은 각 줄을 write & flush 하여 I/O 병목 유발
해결책 및 결과
- Netty 환경에서 성능이 크게 개선됨을 확인했으나, 전환 리소스 부족
- Spring Web에서 Flux 데이터를 1000개씩 버퍼링하여 한 번에 write & flush 처리하는 방식 도입
- 이로 인해 엑셀 다운로드 성능이 획기적으로 향상되어 CQRS 도입 효과를 실감