[Spring] HikariCP, Redis Lettuce Pool 운영 병목 분석
·
Spring boot
회사에서 이번에 맡은 프로젝트 배포 중 운영서버 배포 후 대시보드 화면을 반복해서 새로고침하면 페이지 전체가 잠깐 응답하지 않는 현상이 생겼다. DB가 죽은 것도 아니고, 애플리케이션이 다운된 것도 아니었는데 무슨 문제일까 천천히 찾아보다가 원인으로 추정되는 문제들을 하나씩 뜯어봤고 원인이 하나가 아닌걸 알아버렸다... 그리고 이런 저런 방법들을 사용해보고 결국 해결했는데 겸사겸사 느낀점이나 관련 정보들을 정리하려고 글을 작성한다.새로고침 한 번이 요청 하나가 아니다브라우저에서 새로고침을 누르면 HTML 파일 하나만 다시 받을 것 같지만, 실제로는 다르다.새로고침-> HTML-> CSS 파일들-> JS 파일들-> 이미지/아이콘-> 로그인 알림 API-> 대시보드 데이터 API (여러 개)한 번의 새로고..
[DB] 데이터베이스 - 인덱스(index) 정리
·
DB
쿼리가 갑자기 느려지거나, 데이터가 쌓일수록 조회가 버벅인다는 느낌이 든다면 십중팔구 인덱스 얘기가 나온다. 인덱스를 그냥 "빠르게 해주는 것"으로만 알고 쓰면 나중에 반드시 막히는 순간이 온다. 왜 빠른지, 어떤 상황에서 빠른지, 잘못 쓰면 오히려 느려지는 이유까지 같이 정리해두려고 한다.인덱스가 없으면 어떻게 될까테이블에 데이터가 100만 건 있다고 해보자. 여기서 특정 사용자를 찾으려면 DB는 어떻게 할까.인덱스가 없다면 첫 번째 행부터 마지막 행까지 전부 다 훑는다. 이걸 Full Table Scan이라고 한다. 100만 건을 다 뒤지는 거다. 운 좋으면 앞에서 찾겠지만, 최악의 경우 100만 번째에 있을 수도 있다.데이터가 적을 때는 체감이 안 되지만, 트래픽이 붙고 데이터가 쌓이기 시작하면 이..
Spring boot와 Maria DB 연동
·
Spring boot
Spring boot와 Maria DB를 연동을 정리해 보겠다. 1. Maria DB 설치https://mariadb.org/download/?m=blendbyte&t=mariadb&p=mariadb&r=11.7.2&os=windows&cpu=x86_64&pkg=msi&mirror=blendbyte Download MariaDB Server - MariaDB.orgREST API Reporting Bugs … Continue reading "Download MariaDB Server"mariadb.org 위 링크에 접속해서 원하는 버전과 OS를 설정한 후 다운로드를 누르면 된다. 이후 다운되는 installer를 실행시켜 쭉~~ 실행시켜 주면 된다 2. Maria DB 데이터베이스 만들기설치를 완료한 ..