반응형 전체 글44 [Spring] AOP를 통한 슬로우 쿼리 탐지 feat. Sentry 서비스를 운영하다보면 데이터베이스 부하 증가로 인해 서비스 속도가 느려지는 현상이 발생할 수 있다.실제 운영 환경에서 데이터베이스 부하로 인해 서비스로 느려지는 현상이 발생할 때 미리 탐지할 수 있는 전략은 여러 가지가 있다.P6Spy, datasource-proxy 등의 라이브러리를 사용하거나 MySQL 같은 경우 Slow Query Log를 통해 확인할 수도 있겠지만P6Spy, datasource-proxy는 모든 쿼리에 대해 프록시 방식으로 동작하기 때문에 운영 환경에서 오버헤드가 발생할 수 있다. 본 글에선 AOP를 통해 슬로우 쿼리를 미리 탐지하기 위한 전략에 대해 글을 작성하고자 한다. 🧐Spring AOP를 통한 쿼리 실행 속도 측정Spring을 통해 개발하고 있다면 AOP와 Logback.. 2025. 9. 18. [HTTP] Cache-Control을 잘못 사용했을 때의 문제점 지난 글에서 Cache-Control을 통한 브라우저 캐싱 최적화에 대해서 다뤄본 적이 있다.👉 HTTP 캐싱을 통한 웹 브라우저 최적화 feat. Cache-Control, ETag HTTP 캐싱을 통한 웹 브라우저 최적화 feat. Cache-Control, ETag실무에서 사용자 경험을 끌어올리기 위해 적용할 수 있는 캐싱 전략은 다양하다. 이번 글에선 ETag와 Cache-Control을 활용해 HTTP 프로토콜 레이어에서의 캐싱을 통해 서버의 부하를 줄이고 네트워크khrdev.tistory.com본 글에선 Cache-Control을 잘못 설정했을 경우 발생할 수 있는 문제점에 대해서 다뤄볼까 한다.물론 캐싱을 잘못했을 때, 데이터가 변경되었음에도 불구하고 캐싱된 이전 데이터를 계속 노출한다거나.. 2025. 9. 17. [Micrometer] Reached the maximum number of URI tags for 'http.server.requests'. 서비스를 운영 중에 다음과 같은 warning 로그를 모니터링하게 되었다.warning 로그가 발생하고 있는 지점은 micrometer-core의 OnlyOnceLoggingDenyMeterFilter였다. 디버깅을 통해 확인해 본 결과, 직접 커스터마이징 한 필터 이후에 OnlyOnceLoggingDenyMeterFilter가 작동하며 Warning Message를 발생시키고 있던 것이다.Reached the maximum number of URI tags for 'http.server.requests'가 발생한 원인과 해결법http.server.requests 에러는 메트릭 시스템에서 URI 태그의 고유한 조합이 너무 많아질 경우 발생하는 에러다.이는 주로 프로메테우스, 마이크로미터와 같은 모니터링 .. 2025. 9. 16. HTTP 캐싱을 통한 웹 브라우저 최적화 feat. Cache-Control, ETag 실무에서 사용자 경험을 끌어올리기 위해 적용할 수 있는 캐싱 전략은 다양하다. 이번 글에선 ETag와 Cache-Control을 활용해 HTTP 프로토콜 레이어에서의 캐싱을 통해 서버의 부하를 줄이고 네트워크 대역폭을 감소시켜 사용자 경험을 향상시킬 수 있는 방법에 대해서 작성해 본다. 🤔HTTP Cache-ControlHTTP 응답 헤더 중 하나로, 클라이언트(브라우저)나 프록시 캐시가 응답을 어떻게 캐싱할지 제어하는 역할을 한다. 중요 디렉티브는 다음과 같다.max-age=응답을 캐시에 저장하고 지정된 시간(초) 동안 재검증 없이 사용한다. max-age의 최대치는 31536000으로 최대 1년이다.max-age 대신 Expires 헤더를 통해 캐시 만료 시간을 시점 기준으로 정확히 지정할 수도 있.. 2025. 9. 15. 이전 1 2 3 4 5 6 7 8 ··· 11 다음 반응형