[Oisf-users] Suricata Myricom and 10Gbit
Erich Lerch
erich.lerch at gmail.com
Mon Mar 31 14:52:56 UTC 2014
Michał,
We have a similar setup, also with the Myricom 10gb interface.
The following values give us fairly good results, although our traffic
does not exceed 2Gbit at the moment.
Performance also depends on the ruleset.
If you have profiling compiled in, try without.
SNF settings:
SNF_NUM_RINGS=16 SNF_DATARING_SIZE=34359738368 SNF_DESCRING_SIZE=2147483648
Suricata settings:
...
max-pending-packets: 2048
...
# very important:
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: single
- inspection-recursion-limit: 3000
- rule-reload: true
...
threading:
set-cpu-affinity: yes
[definition of cpu sets]
...
defrag:
memcap: 512mb
hash-size: 65536
trackers: 65535
max-frags: 65535
prealloc: yes
timeout: 10
...
flow:
memcap: 256mb
hash-size: 262144
prealloc: 300000
emergency-recovery: 30
...
flow-timeouts:
[a lot more aggressive than the default!!!]
...
stream:
memcap: 12gb
checksum-validation: no
inline: no
prealloc-sessions: 10000000
reassembly:
memcap: 16gb
depth: 6mb # reassemble 1mb into a stream
toserver-chunk-size: 2560
toclient-chunk-size: 2560
randomize-chunk-size: yes
...
pcap:
- interface: snf0
threads: 16
buffer-size: 512mb
checksum-checks: no
promisc: no
...
Also set the app-layer values much higher than the defaults.
cheers,
erich
2014-03-31 13:27 GMT+02:00 Michał Purzyński <michalpurzynski1 at gmail.com>:
> Hello.
>
> I'm trying to tune Suricata to handle up to 10Gbit/sec of traffic (that's a
> peak, jumps like crazy from 2.5 - 4.5 - 6 and up). So far my results were
> quite bad, so I'm seeking help - must be missing something obvious here
> judging by the numbers of articles where everyone seems to use Suricata on
> 10Gbit traffic.
>
> Server:
>
> 2 x Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz (16 physical cores)
> 64GB RAM
>
> NIC - Myricom 10Gb 10G-PCIE-8B-S with the Sniffer software loaded and
> activated
>
> Software:
>
> This is Suricata version 2.0rc2 RELEASE
>
> Command line:
>
> SNF_NUM_RINGS=16 SNF_FLAGS=0x1 SNF_DESCRING_SIZE=1073741824
> SNF_DATARING_SIZE=1073741824 SNF_DEBUG_MASK=0x3 suricata -c
> /etc/nsm/nsm11-eth4/suricata.yaml -i eth4 --runmode=workers
>
> (16 threads, 1GB for each buffer)
>
> The Myricom debug output seems fine.
>
> Config file - pretty standard, most important things:
>
> max-pending-packets: 5000
> runmode: workers
>
> detect-engine:
> - profile: medium
>
> Did not touch parameters here.
>
> set-cpu-affinity: no
>
> Also default settings here.
>
> detect-thread-ratio: 1.5
>
> (should not it be 1.0?)
>
> defrag:
> memcap: 512mb
> trackers: 65535 # number of defragmented flows to follow
> max-frags: 65535 # number of fragments to keep (higher than trackers)
> prealloc: yes
> timeout: 60
>
> flow:
> memcap: 32mb
> hash-size: 65536
> prealloc: 10000
> emergency-recovery: 30
>
> stream:
> memcap: 16gb
> max-sessions: 20000000
> prealloc-sessions: 10000000
> checksum-validation: yes # reject wrong csums
> inline: no # no inline mode
> reassembly:
> memcap: 14gb
> depth: 6mb # reassemble 1mb into a stream
> toserver-chunk-size: 2560
> toclient-chunk-size: 2560
>
> pcap:
> - interface: eth4
> threads: 16
> buffer-size: 512kb
> checksum-checks: no
>
> The myricom tools show a high packet loss
>
> SNF recv pkts: 634485790
> SNF drop ring full: 137774061
> Interrupts: 12053363
> Net bad PHY/CRC32 drop: 32092
> Net overflow drop: 219656
>
> Also note that it reports quite a few interrupts, which there should be
> almost none.
>
> What is the direction I should go here? I know that tuning a high capacity
> Suricata isn't exactly a single afternoon task, but I need to advise what to
> do now, how to proceed, etc.
>
> Looking for clues.
>
> --
> Michał Purzyński
>
> _______________________________________________
> Suricata IDS Users mailing list: oisf-users at openinfosecfoundation.org
> Site: http://suricata-ids.org | Support: http://suricata-ids.org/support/
> List: https://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users
> OISF: http://www.openinfosecfoundation.org/
More information about the Oisf-users
mailing list