한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

게임 렉 백서 › L5 데이터센터 네트워크 장비

로드밸런서 쏠림·헬스체크 오판 LB imbalance, bad health checks

원인 ID dc-lb-imbalance · 주 담당 인프라팀·네트워크 인프라 · 함께 게임개발팀·서버 개발

그림과 실험이 있는 원본 카드로 열기 →

로드밸런서가 한 서버에만 연결을 몰아주거나, 이미 죽은 서버로 계속 사람을 보냅니다.

왜 분배 규칙이 맞지 않거나 헬스체크가 실제 상태를 못 봄 → 그러면 한 서버만 과부하, 또는 죽은 서버로 접속 시도 → 화면에서는 일부 채널·일부 사람만 슬로우모션, 접속 불가·무한 로딩

증상
슬로우모션, 접속 불가·무한 로딩
요인
정체, 손실
누가 겪나
특정 장소·채널
언제
접속·점검 직후, 사람이 몰릴 때
담당
주 담당 인프라팀·네트워크 인프라 · 함께 게임개발팀·서버 개발
게임개발팀 할 일
로드밸런서의 확인 요청에 실제 게임 상태(틱 진행, DB 연결)를 보고 답하는 헬스체크 구현, 서버 부하 값을 함께 알려 주기.
인프라팀 할 일
헬스체크를 실제 게임 응답을 확인하는 방식으로 바꾸기, 서버 부하 기반 분배, 서버별 연결 수 차이 모니터링.
그래프에서는
일부만 높음 · 서버별 연결 수·CPU 사용률
확인할 곳
로드밸런서 뒤 서버마다 연결 수(ss -s)와 CPU 사용률을 한 그래프에 겹쳐 보고, 로드밸런서의 대상 헬스 상태(AWS는 CloudWatch의 HealthyHostCount·UnHealthyHostCount)를 게임 서버의 실제 상태와 비교
이러면 맞음
서버 한두 대만 연결 수·CPU가 다른 서버보다 크게 높거나, 틱이 멈춘 서버가 헬스 상태 “정상”으로 남아 새 접속을 계속 받음
이러면 아님
서버별 연결 수가 고른데 한 채널만 느리면 그 채널 안의 부하(“단일 스레드 지역 과부하(핫스팟)”)
확인 수단
인프라 도구로 확인(게임 코드 불필요)
실제 사례
AWS 2025: AWS us-east-1 DynamoDB DNS 장애와 긴 복구

출처

  1. Load Balancing in the Datacenter Google
    단순 라운드 로빈은 작업 간 CPU 사용량이 최대 2배까지 벌어짐, 백엔드가 응답·헬스체크에 부하를 실어 보내는 가중 분배, 요청을 그만 받겠다는 lame duck 상태
  2. Health checks for Network Load Balancer target groups AWS
    헬스체크 기본 30초 간격·2회 실패로 제외, UDP 서비스는 TCP·HTTP 헬스체크로 확인하므로 실제 서비스 상태를 반영하도록 구성 권장
  3. CloudWatch metrics for your Network Load Balancer AWS
    HealthyHostCount·UnHealthyHostCount: 정상·비정상으로 판정된 대상 수

함께 보면 좋은 원인

같은 층: L5 데이터센터 네트워크 장비

같은 증상(슬로우모션)의 다른 층 원인

그림과 실험이 있는 원본 카드 보기