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

Анатомия игровых лагов › L6 Сетевая карта сервера

Накладные расходы виртуализации и шумные соседи Noisy neighbors in virtualization

ID причины nic-noisy · Основной ответственный Команда инфраструктуры · Серверная инфраструктура · Совместно Внешние стороны · Внешние стороны

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

Если другие виртуальные машины на том же физическом сервере активно используют сеть и CPU, обработка на нашем сервере нерегулярно запаздывает.

Почему Другие виртуальные машины на том же физическом сервере потребляют много ресурсов → Следствие Обработка пакетов на нашей виртуальной машине нерегулярно запаздывает → На экране Без явной причины время от времени появляется джиттер (неравномерность интервалов между пакетами) и микрофризы

Симптомы
Микрофризы
Факторы
Джиттер
У кого
Весь сервер
Когда
Изредка, случайно
Ответственные
Основной ответственный Команда инфраструктуры · Серверная инфраструктура · Совместно Внешние стороны · Внешние стороны
Команда инфраструктуры: задачи
Выделенные хосты, инстансы с гарантированной производительностью, инстанс с постоянным джиттером остановить и запустить снова, чтобы он переехал на другой хост.
Внешние стороны: задачи
Сообщить облачному провайдеру о проблемном хосте.
На графике
Случайные всплески · джиттер времени туда и обратно внутри ЦОД, %steal
Где смотреть
Непрерывно пинговать другой сервер в том же ЦОД и записывать джиттер времени туда и обратно, сравнить его вместе с %steal из mpstat с другими инстансами той же конфигурации
Подтверждает
Только у этого инстанса джиттер времени туда и обратно или %steal нерегулярно скачут, а у других инстансов той же конфигурации всё спокойно. После остановки и запуска с переездом на другой хост проблема пропадает
Опровергает
Если у всех инстансов той же конфигурации одинаковые скачки, хост ни при чём. Смотреть нагрузку на стороне игрового сервера или сетевой участок
Чем проверить
Инструменты инфраструктуры (игровой код не нужен)

Источники

  1. How EC2 instance stop and start works AWS
    Если инстанс остановить и снова запустить, в большинстве случаев он переезжает на новый хост (кроме выделенных хостов)
  2. mpstat(1) — Linux manual page sysstat
    %steal: доля времени, в течение которого этот виртуальный CPU вынужденно ждал, пока гипервизор выполнял другой виртуальный CPU

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

Тот же слой: L6 Сетевая карта сервера

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

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