게임 렉 백서 › TCP 재전송의 근본 원인
중간 장비 처리 한도 초과 (방화벽·IPS·DDoS 방어) Inline appliance PPS / CPU overload
원인 ID rt-appliance-pps · 주 담당 인프라팀·네트워크 인프라 · 함께 게임개발팀·서버 개발
그림과 실험이 있는 원본 카드로 열기 →
방화벽, 침입 방지 장비(IPS), DDoS 방어 장비는 지나가는 패킷을 하나하나 검사합니다. 검사 능력을 넘는 순간부터 처리하지 못한 패킷을 버립니다.
왜 피크 시간·이벤트에 작은 게임 패킷이 초당 수십만 개 넘게 몰림, 또는 검사 규칙이 무거움 → 그러면 장비의 CPU·초당 패킷 수 한도가 차서 장비에서 폐기. 오탐이면 정상 패킷도 차단 → 화면에서는 그 장비 뒤의 서버 전체에서 동시에 멈춤·순간이동, 사람 몰릴 때만 심해짐
증상 멈춤 , 몰아치기 , 순간이동 , 접속 끊김
요인 손실, 지연
누가 겪나 서버 전체, 특정 지역·통신사
언제 저녁 피크 시간, 사람이 몰릴 때
담당 주 담당 인프라팀·네트워크 인프라 · 함께 게임개발팀·서버 개발
게임개발팀 할 일 게임 트래픽 패턴(포트, 패킷 크기, 초당 패킷 수)을 인프라팀에 공유, 한 틱에 보낼 작은 메시지는 모아서 한 번에 보내 패킷 수 줄이기.
인프라팀 할 일 장비의 CPU·초당 패킷 수·드롭 카운터를 게임 지표와 함께 보기, 작은 패킷 기준으로 장비 용량 잡기, 게임 포트는 무거운 검사에서 빼기, DDoS 방어 규칙을 게임 트래픽 패턴에 맞추기.
수치 감각 장비 사양의 “10Gbps”는 1,500바이트 큰 패킷 기준으로 적힌 경우가 많습니다. 100바이트 안팎인 게임 패킷은 같은 대역폭에서 패킷 수가 10배 넘게 많아, 회선이 한가해 보여도 초당 패킷 수 한도가 먼저 찹니다.
그래프에서는 한도에 닿아 평평해짐 · 장비 초당 패킷 수·CPU 사용률, 장비 드롭 수
확인할 곳 장비의 CPU·초당 패킷 수·드롭 카운터를 보고 장비 앞뒤 스위치 포트의 패킷 수를 같은 간격으로 비교함. 동시 접속 수, 서버 재전송률과 한 화면에 겹쳐 봄 이러면 맞음 피크·이벤트 때 장비의 초당 패킷 수나 CPU가 한 값에서 더 오르지 못하고, 장비로 들어간 패킷보다 나온 패킷이 적어지며 같은 시각에 그 뒤 서버 전체의 재전송률이 함께 오름 이러면 아님 장비 앞뒤 패킷 수가 같고 장비 드롭도 없으면 다른 원인. 서버의 NIC 폐기 카운터나 softnet dropped가 늘면 “수신 서버 호스트의 패킷 폐기” 확인 수단 인프라 도구로 확인(게임 코드 불필요)
출처 RFC 2544: Benchmarking Methodology for Network Interconnect Devices IETF 장비 성능은 최소·최대 크기를 포함한 여러 프레임 크기로 시험해야 함(패킷 크기에 따라 처리 성능이 달라짐)
함께 보면 좋은 원인
같은 층: TCP 재전송의 근본 원인
같은 증상(멈춤)의 다른 층 원인
그림과 실험이 있는 원본 카드 보기