서비스 지연 문제에 대한 보고
안녕하세요, URL단축서비스입니다.
한국시간으로 오늘 오전 12시 - 14:50시 사이에 URL단축서비스에서 광범위하게 발생한 서비스 지연 현상에 대해 소상히 설명드리고자 합니다.
배경
URL단축서비스에서는 안전한 링크 단축 서비스를 위해 스팸 필터링과 URL에 대한 정보를 가져오는 도구를 운영해왔습니다. Tullamarine URL Parser(이하 툴라마린) 라고 부르는 이 서비스는 최근 Covid-19 상황과 관련한 트래픽 폭주와 기타 잠재적인 서비스 정지 문제로 인해 얼마동안 유지보수가 진행되었습니다.
최근 여유가 생겨 이 서비스에 대한 유지보수를 진행했습니다. 그리고 완성된 서비스를 통해 약 43만건의 URL을 검사하였습니다. AWS의 Fargate 라는 독립적인 서버로 운영되는 이 서비스는 현재까지 약 6일동안 서비스 지연 없이 정상적으로 동작했습니다.
진행
본 서비스에서 사용되는 데이터베이스는 AWS의 순간적인 가속이 가능한 인스턴스 위에서 동작합니다. 저희는 약 3만 건의 남은 데이터를 빠르게 처리하기 위해 툴라마린 서비스의 가동율을 약 3배 이상 높게 늘렸습니다. 작업이 수행되는 동안 평일 워크로드에 대한 계산이 부족했으며 데이터베이스에 오버헤드가 발생했습니다. AWS에서는 Bursted된 Credit을 통해 CPU의 Overhead에 대해 대응할 수 있는데 Credit에 대한 예측을 하지 못하고 모두 사용하여 전체적인 서비스에 대한 지연 현상이 발생했습니다. 장애가 발생했던 시간 동안 약 210명 이상의 사용자에게 "504 Gateway Timed-out" 메시지가 표출되었습니다.
결과와 대비 전략
현재 이런 문제에 대한 해결책으로 긴급히 서비스를 확장하여 Storage에 대한 확장과 더불어 CPU Balance 문제를 해결하였습니다.
지금부터 Monitor를 강화함과에 더불어 서비스 분리로 문제에 대한 대비를 철저히 하고 고가용성을 확보하고자 합니다.
URL단축서비스를 믿고 기다려주신 여러분들께 깊은 감사의 인사를 드립니다.
앞으로도 저희는 최선을 다하겠습니다.