TroubleShooting 2

DB Connection 정리

문제 발견주말마다 운영중인 서버의 응답이 느려지다 결국 먹통이 되는 문제가 있었다.서버를 재시작하면 다시 정상적으로 동작했다. 원인 파악메모리, CPU, DB의 상태를 살펴봤지만 모두 잘 동작하는 것 같았다. 로그를 분석해봐도 원인을 쉽게 찾을 수 없었다.당장 해당 이슈를 해결할 수 없을 것 같아 이 문제를 뒤로하고 몇일이 흘렀는데 어느날 평일에 같은 문제가 발생하였다. 그래서 우선 서버를 재시작하고 원인을 찾기 위해 RDS의 모니터링 항목을 살펴보던 중에 DatabaseConnections의 그래프에서 특이점을 발견했다.위 그래프에서와 같이 서버를 재시작한 시점의 커넥션 수가 갑자기 뚝 떨어져 있는 것이었다. 게다가 특정 시간마다 커넥션의 개수가 상승해서 다시 줄어들지 않는 것이 이상했다. 그래서 우선..

TroubleShooting 2024.02.25

외부 Api Rate Limit 대응

개발을 진행하는 과정에서 직장에서든 개인 프로젝트에서든 특정 기능(메일 전송, 주소 검색 등)을 구현하기 위해 외부 API를 사용하는 일이 흔하게 발생한다. 이러한 외부 API들은 일반적으로 Rate Limiter가 적용되어 있다. 그러나 실제 사용자가 적은 프로젝트에서는 이에 대한 부하테스트를 진행하지 않는 한 예외 상황을 만나기 힘들고 이러한 개념이 있는지조차 모를수도 있다. 나도 이전에 Rate Limiter에 대해 학습은 했지만, 그동안 우리 서버에는 만들 필요성을 느끼지 못했고, 여태 외부 api를 사용하면서 이로 인한 문제를 마주했던 경험이 없었는데 이번에 택배 배송 현황 추적을 위해 사용하는 API에서 이로 인한 문제가 발생하였다. 그래서 이번 글에서는 이 문제를 해결하기 위해 찾았던 방법을..

TroubleShooting 2024.01.16