Если для одного действия нужно несколько обменов с сервером по очереди, пинг умножается на их число.
Почему Открытие магазина → запрос списка → проверка цены → покупка → обновление инвентаря, каждое отдельным запросом → Следствие Следующий запрос уходит только после ответа на предыдущий → На экране При пинге 150 ms одна покупка занимает почти 1 с. Загрузки подозрительно долгие
При определённом действии, Сразу после входа или техработ
Ответственные
Основной ответственный Команда разработки · Разработка сервера · Совместно Команда разработки · Разработка клиента
Команда разработки: задачи
Сервер: изменить протокол так, чтобы несколько шагов шли одним запросом и ответом (например, класть обновлённый инвентарь в ответ на покупку). Клиент: заранее загружать нужные данные, делать UI, который не ждёт результата.
Цифры для ориентира
Время ≈ число обменов × (пинг + обработка на сервере + ожидание тика). При 5 обменах и пинге 150 ms около 0,85–1 с.
На графике
Высоко с самого начала · время выполнения по функциям, число обменов на одно действие
Где смотреть
В захвате пакетов на стороне сервера (Wireshark) посчитать, сколько раз запросы и ответы сменяют друг друга за одно действие тестового аккаунта (покупка в магазине, вход) и с какими интервалами. Если есть лог запросов на сервере, сгруппировать по ID сессии и смотреть число запросов и время прихода и ответа каждого
Подтверждает
Одно действие состоит из нескольких последовательных запросов, каждый ждёт предыдущего ответа, время выполнения примерно равно числу обменов × RTT, и чем выше пинг в регионе игрока, тем пропорционально медленнее та же функция
Опровергает
Если обменов один-два, а долго идёт один ответ, причина в обработке на сервере или в БД. Если все игроки тормозят одинаково независимо от пинга, смотреть нагрузку на сервер
Чем проверить
Инструменты инфраструктуры (игровой код не нужен)
Источники
Chatty I/O antipatternMicrosoft Azure Множество мелких запросов ввода-вывода накапливает задержку и сильно ухудшает отзывчивость. Рекомендуется объединять их в более крупные и редкие запросы