측정 방식

측정 방식

연결 테스트가 정확히 무엇을 측정하는지, 값이 어떻게 계산되는지, 브라우저가 원리적으로 측정할 수 없는 것은 무엇인지.

이 페이지는 연결 테스트가 실제로 무엇을 측정하는지, 값이 어떻게 계산되는지, 브라우저가 원리적으로 측정할 수 없는 것은 무엇인지 설명합니다. 영어 정식 방법론의 요약이며, 법적·기술적 기준은 영어판입니다.

테스트가 하는 일

  • 유휴 지연: 자체 엔드포인트에 60ms 간격으로 50회 요청하고 브라우저의 PerformanceResourceTiming API로 왕복 시간을 읽습니다. 앞의 5개 값은 워밍업으로 버립니다.
  • 틱 루프: 30초 동안 초당 20개의 작은 프레임을 WebSocket으로 주고받습니다. 일반적인 슈터 서버의 틱 레이트와 같습니다.
  • 부하 상태 지연: 백그라운드에서 대용량 다운로드를 받으면서 400ms마다 지연을 측정합니다.

값 계산 방식

  • 백분위수는 선형 보간을 사용하며 p50, p95, 최악값을 함께 표시합니다. 평균만 보여주지 않습니다. 평균은 튐을 감추기 때문입니다.
  • 지터는 연속 측정값의 절대 차이 평균이며, 95퍼센타일도 함께 표시합니다.
  • 응답이 오지 않은 프레임은 타임아웃이라고 부릅니다. TCP 기반 전송이라 재전송이 일어나므로 패킷 손실과 같지 않기 때문입니다.
  • 사용 가능한 측정값이 30개 미만이면 판정하지 않고 모른다고 말합니다.

브라우저가 측정할 수 없는 것

  • 게임 내 핑: 브라우저는 게임 서버에 원시 소켓을 열 수 없고, 게임 서버는 보통 ICMP에 응답하지 않습니다.
  • 실제 UDP 패킷 손실: 브라우저는 UDP 패킷을 직접 보낼 수 없습니다.
  • 게임 서버까지의 경로: 게임이 있는 리전에 측정 지점이 필요합니다.
  • FPS, 하드웨어, 게임 넷코드: 의도적으로 범위 밖입니다.

전체 방법론은 영어로 공개합니다. 영어 전체 방법론 보기 (EN)