넛지헬스케어 · 2024
관리자 배치 작업과 사용자 서비스의 부하 격리
관리자 시스템에서 대량 배치가 돌면 사용자 서비스가 느려졌다. 원인을 화면이 아니라 공유 서버 자원에서 찾았다.
- Node.js
- AWS EC2
제원
- 소속
- 넛지헬스케어
- 기간
- 2024
- 역할
- 원인 분석 · API 영역 분리
배경
사용자용 서비스와 관리자용 시스템이 같은 서버 자원을 공유했다. 관리자 쪽에서 대량 배치 작업이 수행되면 사용자 서비스의 응답도 함께 느려졌다.
증상만 보면 프론트엔드 성능 문제처럼 보였다. 화면 단위로만 보면 원인에 도달하지 못한다.
수행
느려지는 시점과 배치 수행 시점을 맞춰 보고, 원인이 화면이 아니라 서버 리소스 공유에 있다고 판단했다.
사용자 서비스와 관리자 기능의 API 영역을 분리했다. 관리자 작업의 부하가 사용자 서비스까지 전파되지 않는 구조로 바꿨다.
시스템
같은 자원을 두고 경합하던 두 워크로드를 분리했다.
변경 전에는 사용자 트래픽과 관리자 배치가 같은 API와 자원을 공유해 경합했다. 변경 후에는 각각 별도의 API 영역을 사용한다.
역할 경계
- 이 항목에는 공개할 수 있는 측정 수치가 없다. 개선 효과를 숫자로 적지 않는다.
- 인프라 수준의 재배치는 인프라 담당과 함께 결정했다.