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

Анатомия игровых лагов › L9 Процесс игрового сервера

Одновременное срабатывание таймеров Synchronized timers

ID причины sp-timer-burst · Основной ответственный Команда разработки · Разработка сервера

Открыть карточку в основной версии с иллюстрациями и экспериментами →

Если респавн всех монстров, окончание всех баффов и награды ровно в начале часа приходятся на один тик, этот тик становится в десятки раз тяжелее.

Почему Таймеры респавна, окончания эффектов, наград и автосохранения выставлены на одно и то же время → Следствие В этот один тик работы в десятки раз больше обычного → На экране В определённое время каждый раз всё на миг замирает

Симптомы
Фриз, Микрофризы
Факторы
Остановка
У кого
Одна локация или канал, Весь сервер
Когда
С постоянным периодом
Ответственные
Основной ответственный Команда разработки · Разработка сервера
Команда разработки: задачи
Немного разбрасывать время таймеров случайным образом, распределять обработку по нескольким тикам.
На графике
Всплески с постоянным периодом · время тика сервера
Где смотреть
Собрать моменты всплесков времени тика и посмотреть на интервалы (ровно в начале часа, каждые 5 минут и т. п.). Сверить со списком таймеров респавна, окончания баффов, наград и автосохранения, которые срабатывают в это время
Подтверждает
Время тика скачет каждый раз в одно и то же время или через одинаковые интервалы, и в эти моменты разом срабатывают игровые таймеры
Опровергает
Если периодичность есть, но всплески совпадают с паузами в логе GC или с запуском cron и бэкапов на сервере, дело в полной паузе GC на сервере или в плановых заданиях
Чем проверить
Нужны логи и метрики игрового сервера или клиента

Источники

  1. Timeouts, retries, and backoff with jitter AWS
    Amazon Builders' Library. Ко всем таймерам, периодическим и отложенным заданиям добавляют случайный разброс (jitter), чтобы рассеять нагрузку, которая скапливается в одно время. Пример: ежеминутные запросы с многих серверов скапливались в первые секунды каждой минуты

Смотрите также

Тот же слой: L9 Процесс игрового сервера

Причины с тем же симптомом (Фриз) на других слоях

Карточка в основной версии с иллюстрациями и экспериментами