마법소녀 이세계 아이돌 웹툰 런칭! BFF 장애 대응기
두줄요약
웹툰 런칭 트래픽으로 BFF CPU가 포화된 원인을 부하 테스트로 추적했습니다. Node.js agent의 keepAlive를 활성화해 TPS와 CPU 안정성을 개선했습니다.
문제 상황
- 웹툰 런칭 시 평소 대비 3배 이상 트래픽 유입과 BFF CPU 100% 도달
- 백엔드 API 단독 대비 BFF의 TPS가 약 10배 낮고 수분간 페이지 미응답 발생
원인 분석
- 백엔드 응답 지연, ingress 자원 부족, pod 수 부족, 미들웨어와 apollo-server-express 문제를 부하 테스트로 배제
- Node.js HTTPS agent의 기본
keepAlive: false로 인한 요청마다 TCP 연결 재설정 - BFF에서 백엔드 API를 호출하는 서버 간 통신의 연결 재사용 부재
해결 방법
https.Agent에keepAlive: true설정 후 GraphQL과 프록시 요청에 공통 적용- 중복 쿠키 파싱 결과의
res.locals저장과util.inspect탐색 깊이 제한 - pod 수 테스트를 통해 CPU 코어 수에 가까운 pod 수에서 최대 TPS 확인
성능/운영 포인트
- keepAlive 적용 후 프록시 TPS 720→3,600, GraphQL TPS 560→1,800 개선
- 평상시 CPU 사용량 안정화
- Node.js 19 미만 기본 agent의 keepAlive 기본값 점검 필요



