Настройка FWBOOST

Skip to end of metadata
Go to start of metadata

Fwboost

В меню "Reductor DPI X" -> "Опции Carbon Reductor DPI X" есть три опции.

  • FW-Boost: изолированный RSS
  • FW-Boost: неблокирующие модули
  • FW-Boost: skip checked

FWBOOST: Изолированный RSS

Это альтернативная схема распределения обработки трафика между несколькими сетевыми картами.

Основная задача: помогать справляться с пиковыми превышениями нагрузки.

Идея в следующем: каждый порт сетевой карты получает 1 выделенное ядро под захват пакетов (RSS), оставшиеся свободными ядра используются для обработки пакетов (RPS) со всех сетевых карт.

Например, есть двухпортовая сетевая карта и 8-ядерный процессор.

  • CPU0 - захват пакетов eth0
  • CPU1 - захват пакетов eth1
  • CPU2…7 - будут использоваться под обработку пакетов.

В случае если есть запас IDLE (наблюдать можно в top -cd1), а на сетевых картах есть потери - это значит, что процессор не успевает наполнять и обрабатывать буферы за выделенное время. Такая схема более эффективно утилизирует процессорное время, заставляя процессор чаще заниматься обработкой увеличенного программного буфера.

При использовании этой схемы есть одна особенность, которая может запутать при просмотре network-top. Допустим на сетевую карту приходит 300000 (N) пакетов. Тогда счётчики обрабатываемых ядрами пакетов на четырёхядерном процессоре будут выглядеть следующим образом:

  1. Cpu0: 300000
  2. Cpu1: 100000 (N/(M-1))
  3. Cpu2: 100000
  4. Cpu3: 100000

Цифра на CPU0 может смутить и покажется что он перегружен. Это не так, он занимается только захватом, это не значительная доля работы. Обработка будет размазана равномерно между Cpu1..CpuM.

FWBOOST: Skip checked

В сессии будет проверяться только первый пакет с данными, остальные пакеты отбрасывают на раннем этапе обработки трафика, что снижает нагрузку. Опция особо хорошо себя проявляет при нагрузках более 5гбит/сек.

Эту опцию нельзя использовать без [x]Lockfree modules, без неё она приводит к ещё большим потерям.
Эта опция не работает при использовании Bond-интерфейсов

FWBOOST: Неблокирующие модули

Эта опция нужна для того, чтобы получить большую производительность от многоядерных систем. Она особо хорошо показывает себя на системах с двумя процессорами, но в случае одного многоядерного процессора тоже увеличивает максимальную нагрузку.

По умолчанию сетевой стек линукс не очень хорошо масштабируется из-за глобальных блокировок в некоторых подсистемах. Это приводит к нелинейной деградаци, то есть чем больше нагрузка и чем больше ядер - тем больше возникает взаимных блокировок, тем сильнее деградирует производительность. Мы собрали модули ipset и ebtables с уменьшенным количеством таких глобальных блокировок.

Эта опция обязательна при использовании Skip checked.

Для работы опции требуется ядро 2.6.32-754.x86_64, если включить опцию без него - сервер не будет фильтровать трафик.

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

Если не установлено:

yum -y install kernel 2.6.32.754.el6.x86_64
reboot
ssh
menu

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

Далее включаем нужные галочки в Настройки Reductor DPI X → Опции Reductor DPI X → fwboost и выполняем

/etc/init.d/apps restart
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.