[Oisf-users] Suricata Myricom and 10Gbit
Victor Julien
lists at inliniac.net
Mon Mar 31 11:53:42 UTC 2014
On 03/31/2014 01:27 PM, Michał Purzyński wrote:
> 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?)
It's not used in runmode workers
>
> 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
Definitely increase all these settings. In our 10g setup we use:
flow:
memcap: 3200mb
hash-size: 15728640
prealloc: 8000000
> 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
Not sure how this buffer size relates to myricom's libpcap. Perhaps you
can try to increase it.
> 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.
How is the cpu use looking? All cores busy?
--
---------------------------------------------
Victor Julien
http://www.inliniac.net/
PGP: http://www.inliniac.net/victorjulien.asc
---------------------------------------------
More information about the Oisf-users
mailing list