If you have enough RAM, consider the following options in
suricata.yaml to off-load as much work from the CPU's as possible:
If you have enough RAM, consider the following options in suricata.yaml to off-load as much work from the CPU's as possible:
::
detect-engine:
- profile: custom
- custom-values:
toclient-src-groups: 200
toclient-dst-groups: 200
toclient-sp-groups: 200
toclient-dp-groups: 300
toserver-src-groups: 200
toserver-dst-groups: 400
toserver-sp-groups: 200
toserver-dp-groups: 200
- sgh-mpm-context: auto
- inspection-recursion-limit: 3000
detect:
profile: custom
custom-values:
toclient-groups: 200
toserver-groups: 200
sgh-mpm-context: auto
inspection-recursion-limit: 3000
Be advised, however, that this will require >= 32 GB of RAM for even
modestly sized rule sets. Also be aware that having additional CPU's
available provides a greater performance boost than having more RAM
available. That is, it would be better to spend money on CPU's
instead of RAM when configuring a system.
Be advised, however, that this may require lots of RAM for even modestly sized rule sets. Also be aware that having additional CPU's available provides a greater performance boost than having more RAM available. That is, it would be better to spend money on CPU's instead of RAM when configuring a system.
As a rough benchmark, in an HTTP-rich traffic stream, the full
Emerging Threats rule set will require roughly one CPU per 50 Mb/sec
of traffic when using "low" memory settings and using PF_RING to
ensure there are no traffic drops.
It may also lead to significantly longer rule loading times.
Here are the build in values for LOW/MEDIUM/HIGH profiles: