본문 바로가기

springboot2

성능 최적화: @Transactional(readOnly)와 JDBC Fetch 튜닝으로 DB 부하 60% 줄이는 실전 전략 성능 최적화: @Transactional(readOnly)와 JDBC Fetch 튜닝으로 DB 부하 60% 줄이는 실전 전략대부분의 Spring Boot 애플리케이션에서 DB 성능 병목은 조회 쿼리(read query)에서 발생합니다. 특히 대량 데이터 조회, 반복적인 조회 API, 보고서/리스트 화면 API는 DB와 애플리케이션 사이에서 발생하는 네트워크 왕복 비용과 커넥션 관리 비용 때문에 전체 성능을 크게 떨어뜨립니다.이 글에서는 다음 두 가지 기술을 결합하여 DB 부하를 30~60%까지 줄일 수 있는 전략을 설명합니다.✔ @Transactional(readOnly = true) ✔ JDBC fetch size / Statement 옵션 튜닝JPA를 쓰든, MyBatis를 쓰든, 순수 JDBC를 쓰.. 2025. 12. 7.
REST API 에러 코드 규격: RFC 7807 Problem Details로 한 번에 정리(Spring Boot 실전) REST API 에러 코드 규격: RFC 7807 Problem Details로 한 번에 정리(Spring Boot 실전)API가 커질수록 에러 응답의 일관성이 중요해집니다. 팀/서비스가 바뀔 때마다 형식이 달라지면클라이언트와 운영이 고통받죠. 표준인 RFC 7807: Problem Details를 채택하면title, status, detail, type, instance 같은 공통 필드로 사람과 머신 모두 읽기 쉬운에러를 제공할 수 있습니다. 이 글은 Spring Boot 3.x 기준으로 설계 원칙 → 필드 약속 → 에러 코드 전략 →전역 핸들러 구현 → 테스트/운영 팁까지 정리합니다.1) 왜 Problem Details인가 표준: RFC 7807에 정의된 JSON(+XML) 구조. 일관성: 모든 .. 2025. 10. 25.