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

게임 렉 백서 › L6 서버 네트워크 카드

NIC 대역폭 포화 NIC bandwidth saturation

원인 ID nic-saturate · 주 담당 게임개발팀·서버 개발 · 함께 인프라팀·서버 인프라

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

1Gbps·10Gbps 카드의 한계까지 쓰면 송신 대기열이 길어지고 넘친 패킷은 버려집니다.

왜 브로드캐스트 증가로 전송량이 카드 한계에 도달 → 그러면 송신 대기열이 길어지고 넘치면 폐기 → 화면에서는 서버 전체 지연·손실(입력 지연·순간이동)

증상
입력 지연, 순간이동
요인
지연, 손실
누가 겪나
서버 전체
언제
사람이 몰릴 때
담당
주 담당 게임개발팀·서버 개발 · 함께 인프라팀·서버 인프라
게임개발팀 할 일
전송량 줄이기(관심 영역, 압축, 변경분만).
인프라팀 할 일
카드 증설(더 빠른 NIC, 클라우드는 더 큰 인스턴스), NIC 사용률 경보.
그래프에서는
한도에 닿아 평평해짐 · NIC 송신량, 송신 폐기
확인할 곳
sar -n DEV 1의 txkB/s와 %ifutil(인터페이스 속도 대비 사용률)을 NIC 속도·인스턴스 대역폭과 비교하고, ip -s link의 TX dropped를 함께 봄
이러면 맞음
송신량이 NIC·인스턴스 대역폭 근처에서 평평해지고 그때부터 송신 폐기와 서버 전체 지연이 늘어남
이러면 아님
대역폭에 여유가 있으면 이 원인이 아님. 작은 패킷이 많은데 손실이 있으면 “클라우드 PPS 한도 초과”
확인 수단
인프라 도구로 확인(게임 코드 불필요)

출처

  1. Interface statistics Linux kernel
    tx_dropped: 자원이 모자라 송신 도중 버린 패킷 수
  2. Amazon EC2 instance network bandwidth AWS
    인스턴스가 쓸 수 있는 대역폭은 vCPU 수(인스턴스 크기)에 따라 정해짐
  3. sar(1) — Linux manual page sysstat
    -n DEV의 rxkB/s·txkB/s와 %ifutil(인터페이스 속도 대비 사용률)

함께 보면 좋은 원인

같은 층: L6 서버 네트워크 카드

같은 증상(입력 지연)의 다른 층 원인

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