WebFlux 전환 부하 테스트를 다시 쓴 이야기
여기어때 유저혜택개발팀이 이벤트 쿠폰 API를 Tomcat/JPA 기반 blocking 방식에서 WebFlux/R2DBC 기반 reactive 방식으로 전환하며 수행한 부하 테스트 기록이다. 초기에는 reactive가 4배 빠르다는 결론이 나왔지만, 측정 환경의 교란 요인을 하나씩 제거하자 결론이 완전히 뒤집혔다.
요약 이어보기무신사 물류기술실 WMS팀이 Jenkins에서 Spring Batch 배치 작업 실행 시 5~12분간 hang이 발생하는 문제를 Java Flight Recorder(JFR)로 추적한 디버깅 사례다. 콘솔 로그 상 'Creating AWSLogs Client' 직후 침묵이 이어져 AwsLogsAppender가 범인으로 의심됐지만, JFR 분석 결과 실제 원인은 Aurora DB에 대한 N+1 쿼리 138회 반복이었다. 통합 쿼리로 개선 후 단건 평균 처리 시간이 41.2초에서 30초 수준으로 줄었고 hang은 완전히 사라졌다.
여기어때 유저혜택개발팀이 이벤트 쿠폰 API를 Tomcat/JPA 기반 blocking 방식에서 WebFlux/R2DBC 기반 reactive 방식으로 전환하며 수행한 부하 테스트 기록이다. 초기에는 reactive가 4배 빠르다는 결론이 나왔지만, 측정 환경의 교란 요인을 하나씩 제거하자 결론이 완전히 뒤집혔다.
요약 이어보기LINE Plus의 통합 커머스 프로젝트에서 일본어 상품 검색 엔진을 Elasticsearch + Kuromoji에서 OpenSearch + Sudachi로 전환한 사례다. 신조어·복합어 미인식과 모델번호 표기 다양성 문제를 해결하기 위해 형태소 분석기를 교체하고 멀티 필드 전략을 설계했다.
요약 이어보기여기어때 유저혜택개발팀에서 신규 유저 리워드 이벤트 시스템 개발 중 MySQL InnoDB 데드락을 추적하고, 결국 락 자체를 줄이는 방향으로 해결한 과정을 다룬다. Kafka 기반 비동기 이벤트 처리와 동시성 제어가 얽힌 실전 사례다.
요약 이어보기