![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpv1Xz%2FbtsMkrDNbeV%2FGg8QHqq2QWVTb31MSVcd9k%2Fimg.png)
데이터베이스 성능 최적화 기록![](https://tistory1.daumcdn.net/tistory_admin/blogs/image/category/new_ico_5.gif)
![](https://tistory1.daumcdn.net/tistory_admin/blogs/image/category/new_ico_5.gif)
·
회고록/업무 기록
서비스 DB CPU 사용률 확인현재 외주로 일하고 있는 서비스의 DB를 모니터링하던 중, CPU 사용률이 굉장히 높다는 사실을 확인하게 되었다. CPU 사용량이 높아질 경우에는 성능이 저하되거나, 타임 아웃 및 연결 실패, 리소스 병목등 다양한 문제를 발생하며 결국 서비스 장애로까지 이어질 수 있다.이를 해결하기 위해 스케일 업/아웃, 인덱스 최적화, 캐싱 도입, 쿼리 최적화 등 여러 방법을 고려할 수 있으나, 이번 경우에는 데이터베이스의 사양이 서비스 규모에 비해 충분히 높다고 판단되어, 우선 쿼리 최적화와 인덱스 최적화를 통해 문제를 해결해 보기로 했다.문제 분석 및 개선 과정인덱싱DB에 부하가 집중되는 시간대에 서버 로그를 확인해 보니, 해당 시간에 자주 호출되는 로직이 있었음을 확인할 수 있었다...