Настройка FWBOOST

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

В меню "Reductor DPI X" -> "Опции Carbon Reductor DPI X" добавлены три опции для оптимизации производительности сервера.

Корткая инструкция по настройке

Если планируется включить все опции:

  1. Согласуем проведение технических работ с РЧЦ, так как потребуется перезагрузка
  2. Устанавливаем ядро 2.6.32-754.el6
  3. Включаем опцию FWBOOST: изолированный RSS
  4. Перезапускаем все сервисы /etc/init.d/apps restart
  5. Перезагружаем систему
  6. Проверяем корректную работу системы при загрузке (/var/log/boot.log не содержит ошибок)
  7. Включаем опцию FWBOOST: неблокирующие модули
  8. Перезапускаем все сервисы /etc/init.d/apps restart
  9. Проверяем корректную работу системы - на экране при перезапуске нет ошибок
  10. Включаем опцию FWBOOST: skip checked
  11. Перезапускаем все сервисы /etc/init.d/apps restart
  12. Проверяем корректную работу системы - на экране при перезапуске нет ошибок
  13. Проверяем результаты настроек:
    1. сравниваем параметры %si, load average в выводе утилиты top
    2. фиксируем отсутствие или сокращение потерь в выводе утилиты chroot /app/reductor network-top

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.

Эта опция вносит необходимые изменения в параметры ядра при загрузке, поэтому после включения опции необходимо выполнить команду:
/etc/init.d/apps restart

и после этого выполнить полную перезагрузку сервера.

FWBOOST: Skip checked

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

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

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

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

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

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

Для работы опции требуется ядро 2.6.32.754.el6.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 
Ищите метку? просто начните печатать.