Серверные сети

Transmit Packet Steering (XPS)

Определение

Transmit Packet Steering (XPS) — механизм Linux для выбора аппаратной очереди передачи на многоочередной сетевой карте. Выбор можно связать с CPU или с очередью приёма.

Также ищут: XPS · Transmit Packet Steering · распределение передачи по очередям

Зачем это знать

На передаче важно не только количество TX-очередей, но и то, какие CPU или очереди приёма с ними связаны. XPS позволяет задать эту карту и уменьшить лишнее совместное использование одной очереди.

Связи из словаря

Карта понятия

Доказательная часть

Что подтверждено

  1. XPS выбирает аппаратную очередь передачи для пакета на многоочередном сетевом устройстве; выбор может опираться на соответствие CPU очередям или очередей приёма очередям передачи.

    Граница применимости: Linux networking scaling documentation; конкретное число очередей зависит от устройства и драйвера.

  2. Для каждой очереди передачи Linux предоставляет xps_cpus для карты CPU → TX-очередь и xps_rxqs для карты RX-очередь → TX-очередь.

    Граница применимости: Linux с CONFIG_XPS и поддерживаемым драйвером; файлы находятся в /sys/class/net/ИМЯ/queues/tx-N/.

  3. Выбранная для потока очередь передачи сохраняется в структуре сокета и используется для следующих пакетов; смена очереди разрешается только когда транспортный слой сообщает, что это не создаст пакеты вне порядка.

    Граница применимости: Linux XPS; документация описывает флаг ooo_okay в структуре пакета и приводит TCP как пример.

  4. Если у сетевого устройства только одна очередь передачи, настройка XPS не влияет на выбор очереди, потому что выбирать не из чего.

    Граница применимости: Раздел Suggested Configuration документа Linux; речь именно об устройстве с одной TX-очередью.

  5. Если настроенная карта RX-очередей не подходит для конкретного пакета, Linux выбирает очередь передачи по карте CPU XPS.

    Граница применимости: Linux XPS; поведение описано для выбора очереди по двум поддерживаемым картам.

Перед спецификацией

Что проверить

  1. Проверьте число аппаратных очередей передачи у интерфейса.
  2. Для каждой TX-очереди прочитайте xps_cpus и, если используется связь с приёмом, xps_rxqs.
  3. Если TX-очередь одна, не ожидайте эффекта от XPS.
  4. После изменения карты сравните производительность, задержку и загрузку CPU; сама настройка не доказывает ускорение.
Открытые основания

Первоисточники

  • Документация1
  • Официальная документация
    Scaling in the Linux Networking Stack Linux Kernel · Linux kernel documentation; страница проверена 19 сентября 2026 года · проверено

    RSS, RPS, RFS и XPS; для этой партии использованы разделы RSS/RPS и замечание об irqbalance.

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Следующий шаг

Сформулируйте задачу и уточните требования к своей системе.

Подготовить подбор с Делектусом

Откроется черновик вопроса. Отправьте его, когда будете готовы.

Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие