Как мы измеряем
Как мы измеряем
Что именно измеряет наш тест, как считаются значения и что браузер в принципе измерить не может.
Здесь описано, что именно измеряет тест, как считаются значения и что браузер в принципе измерить не может. Это сокращённая версия; полная методика опубликована на английском и остаётся основной.
Что делает тест
- Задержка в покое: 50 запросов к нашему эндпоинту с интервалом 60 мс, время круга берётся из PerformanceResourceTiming. Первые пять замеров отбрасываются как прогрев.
- Цикл тика: 30 секунд по 20 небольших кадров в секунду через WebSocket — как у типичного игрового сервера.
- Задержка под нагрузкой: большая загрузка в фоне, а задержка измеряется каждые 400 мс.
Как считаются значения
- Процентили с линейной интерполяцией; публикуем p50, p95 и худший замер, а не только среднее — среднее скрывает всплески.
- Джиттер — средняя абсолютная разница соседних замеров, плюс 95-й процентиль этой разницы.
- Кадры, которые не вернулись, мы называем таймаутами, а не потерей пакетов: транспорт на TCP, а TCP повторяет потерянное.
- Вывод даётся только при 30 и более пригодных замерах, иначе тест говорит, что не знает.
Что браузер измерить не может
- Ваш пинг в игре: браузер не может открыть сырой сокет к игровому серверу, а игровые серверы обычно не отвечают на ICMP.
- Реальную потерю UDP-пакетов: браузер не может отправлять сырые UDP-пакеты.
- Маршрут до игрового сервера: для этого нужны точки измерения в регионе игры.
- FPS, железо и неткод игры: сознательно вне области.
Полную методику мы публикуем на английском. Читать полную методику на английском (EN)