Настройка FWBOOST

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (24)

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

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

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

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

h1. FWBOOST: Изолированный RSS
Если планируется включить все опции:

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

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

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

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




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

h1. FWBOOST: Skip checked
{info}
Эта опция вносит необходимые изменения в параметры ядра при загрузке, поэтому после включения опции *необходимо выполнить команду*:

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

и *после* этого выполнить полную перезагрузку сервера.
{info}
*Эту опцию нельзя использовать без* *\[x\]Lockfree modules*, без неё она приводит к ещё большим потерям.
{info}

{info}
*Эта опция не работает при использовании Bond-интерфейсов*
{info}
h2. FWBOOST: Неблокирующие модули

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

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


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


{info}
Для работы опции требуется ядро 2.6.32-754.x86_64, 2.6.32.754.el6.x86_64, {color:#ff6600}{*}если включить опцию без него - сервер не будет фильтровать трафик.*{color}
{info}


{code}
yum -y install kernel-2.6.32-754.x86_64
yum -y install kernel 2.6.32.754.el6.x86_64
reboot
ssh
/etc/init.d/apps restart
{code}

h2. FWBOOST: Skip checked

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

{info}
*Эту опцию нельзя использовать без* *\[x\]Lockfree modules*, без неё она приводит к ещё большим потерям.
{info}

{info}
*Эта опция не работает при использовании Bond-интерфейсов*
{info}