

싱글벙글 회원 서비스 성능 튜닝기
회원 서비스의 병목 원인을 트랜잭션, DTO 변환, 스레드 설정에서 찾았습니다. 읽기 트랜잭션 축소, 수동 매핑, 톰캣 스레드 조정과 웜업으로 응답 편차를 크게 개선했습니다.
새로운 기술 블로그가 추가되었어요


회원 서비스의 병목 원인을 트랜잭션, DTO 변환, 스레드 설정에서 찾았습니다. 읽기 트랜잭션 축소, 수동 매핑, 톰캣 스레드 조정과 웜업으로 응답 편차를 크게 개선했습니다.


메모리 누수의 개념과 원인을 GC Root 관점에서 설명했습니다. 리소스 해제, static 변수 관리, 약한 참조 활용으로 예방하는 방법을 정리했습니다.

월별 수동 정산을 일별 모듈형 정산으로 바꾸고 자동화한 과정을 소개했습니다. 멱등성, 락, 비동기 분산 처리로 중복 정산을 막고 지급 시간을 크게 줄였습니다.


카탈로그 리뷰 API의 DB 부하 문제를 로컬 캐시 한계를 중심으로 분석했습니다. 글로벌 캐시 도입과 최신화 흐름 검증으로 API 개선 과정을 정리했습니다.


적정 엔지니어링으로 검색 속도를 10배 빠르게 만든 경험을 공유했습니다. 과도한 복잡성을 줄이고 필요한 수준의 구현으로 성능을 개선했습니다.


GPU 모델 서버를 CPU 서버로 전환하면서 성능 저하를 막기 위해 worker, thread, IPEX, KD를 함께 최적화했습니다. 그 결과 서비스 품질을 유지하며 GPU 자원을 절감했습니다.


대용량 메타데이터 등록 시간을 줄이기 위해 saveAll, 배치 인서트, 비동기 병렬 처리를 단계적으로 적용했습니다. 그 결과 등록 시간을 2분 내외로 단축했습니다.

푸시 클릭·노출 통계를 위해 리다이렉트 서버와 FCM 푸시를 연동하고 로그 적재 구조를 설계했습니다. 웹 푸시 노출은 아이콘 이미지 응답을 활용해 수집하는 방식으로 보완했습니다.

실무에서 Mock 테스트 코드를 작성하며 마주한 문제와 해결 노하우를 소개합니다. 효율적인 테스트 작성 방법을 중심으로 정리했습니다.


성수기 트래픽과 일정 단축에 대응하기 위해 인증 구조 개선 프로젝트를 페이즈로 나누어 진행했습니다. 꼭 해야 할 일과 하면 좋은 일을 구분해 범위를 줄이고, 캐시와 데이터 최적화까지 이어갔습니다.

분산 환경의 회원 서비스에서 세션 저장소를 Aerospike에서 Redis로 교체하며 Spring Session을 도입한 과정을 정리했습니다. 모듈별 ID 생성과 직접 호출 문제를 캐시, 헤더 전달, Nginx 설정으로 개선했습니다.


JavaParser로 자바 소스를 AST로 파싱하고 Visitor, SymbolSolver로 정적 분석에 활용하는 방법을 정리했습니다. 멀티 프로젝트와 Lombok 환경에서의 한계와 우회 방법도 함께 소개했습니다.