Настройка производительности СОВ

По умолчанию производительность СОВ настроена для одноядерных аппаратных платформ. Настройки производительности прописаны в конфигурационном файле /etc/suricata/suricata-debian.yaml. Администратору доступно изменить настройки по умолчанию для оптимизации производительности в зависимости от следующих показателей:

      количества ядер на аппаратной платформе – применяются настройки согласно Таблице 1;

      объема установленной оперативной памяти – применяются настройки согласно Таблице 2.

 Таблица 1

 

Количество ядер

>1

1 (по умолчанию)

af-packet:

threads: auto

#threads: auto

 

cluster-type: cluster_cpu

cluster-type: cluster_flow

 

use-mmap: yes

#use-mmap: yes

 

ring-size: 300000

#ring-size: 2048

 

#- interface: default

interface: default

 

max-pending-packets: 1024

#max-pending-packets: 1024

 

runmode: workers

#runmode: autofp

defrag:

#hash-size: 65536

hash-size: 65536

 

#prealloc: yes

prealloc: yes

 

#timeout: 60

timeout: 60

 flow:

memcap: 64mb

memcap: 128mb

 

hash-size: 8192

hash-size: 65536

stream:

memcap: 3gb

memcap: 64mb

 

max-sessions: 20000000

 

 

prealloc-sessions: 500000

 

 

#checksum-validation: yes

checksum-validation: yes

 

inline: no

inline: auto

reassembly:

memcap: 4gb

memcap: 256mb

 

#randomize-chunk-size: yes

randomize-chunk-size: yes

 

set-cpu-affinity: yes

set-cpu-affinity: no

 cpu-affinity:

    - management-cpu-set:

    - management-cpu-set:

 

        cpu: [ "all" ]

        cpu: [ 0 ]

 

        mode: "balanced"

    - receive-cpu-set:

 

        prio:

        cpu: [ 0 ] 

 

          default: "low"

    - worker-cpu-set:

 

    - detect-cpu-set:

        cpu: [ "all" ]

 

        cpu: ["all"]

        mode: "exclusive"

 

        mode: "exclusive"

        prio:

 

        prio:

          low: [ 0 ]

 

          default: "high"

          medium: [ "1-2" ]

 

 

          high: [ 3 ]

 

 

          default: "medium"

 

Таблица 2

 

Объём памяти [Gb]

8

16

32

64

stream:

memcap:

3gb

6gb

16gb

16gb

reassembly:

memcap:

4gb

8gb

18gb

18gb

 

depth:

1mb

1mb

2mb

2mb

max-pending-packets:

4096

8192

8192

8192

Шаг 1:      В конфигурационном файле обновлений /etc/suricata/suricata-debian.yaml  пропишите необходимые настройки (согласно Таблице 1 и Таблице 2). После произведенных изменений пересчитайте контрольную сумму файла /etc/suricata/suricata-debian.yaml  и перезапустите функции мониторинга СОВ:

run service ids stop

run service ids start

Шаг 2:      При необходимости измените интерфейс мониторинга СОВ (см. Раздел «Изменение интерфейса для анализа трафика»).

Шаг 3:      В некоторых случаях настройки сетевого драйвера требуют корректировки. Так, для igb-драйвера необходимо создать файл /etc/modprobe.d/igb.conf следующего вида:

alias ethX igb # (ethX – интерфейс для анализа трафика)

options igb InterruptThrottleRate=2,2 RSS=2,2 QueuePairs=1,1 (для двухъядерного процессора)

options igb InterruptThrottleRate=4,4 RSS=4,4 QueuePairs=1,1 (для четырехъядерного процессора)

options igb InterruptThrottleRate=6,6 RSS=6,6 QueuePairs=1,1 (для шестиядерного процессора)

и т.д.

    Примечание. Для драйверов ixgbe и vmxnet3 изменение настроек не требуется. Посмотреть тип драйвера на интерфейсе можно командой:

run ethtool -i ethX

                где

               ethX  – интерфейс для анализа трафика

Шаг 4:      Для активации всех измененных настроек необходимо применить скрипт балансировки /opt/S-Terra_IDS/bin/irq_balance.sh к интерфейсу мониторинга командой:

run /opt/S-Terra_IDS/bin/irq_balance.sh ethX 

                где

ethX – интерфейс для анализа трафика

 

Внимание!

Для применения скрипта необходимо, чтобы сетевой драйвер поддерживал RSS.