Snort mailing list archives
Re: Snort on DNA/Libzero performance tuning
From: Livio Ricciulli <livio () metaflows com>
Date: Thu, 20 Dec 2012 09:58:28 -0800
We have not tested the libzero and bpf combination, but with PF_RING NAPI you should be able to get several gigs with that hardware.. You can look at http://www.metaflows.com/technology/10-gbps-pf_ring-2/ for some performance comparison between PF_RING NAPI and PF_RING_DNA. In general, given our experience, I would say that the best way to use your hardware would be to spawn as many snort processes as you have cores like: |for| |i ||in| |`||seq| |0 1 y`; ||do||snort -c snort.serv.conf -N -A none -i ethx --daq-||dir| |/usr/local/lib/daq| |\|
|--daq pfring --daq-var clusterid=10 &| |done| Notice that there is no bindcpu option! When running snort, the bottleneck is the CPU not the packet IO.. So, letting the processes float on the cores seems to give the best performance. Here are a few other things: o Do you have rules with long lists of IPs like [ip1,ip2,ip3,ip4...] etc? These types of rules are horribly slow because snort matches them linearly. If so, try disabling them and see if things improve (if so, let me know we have a plugin for that). You can also configure snort with --enable-perfprofiling to see if there are bad rules that are taking too much time. o A big buffer can always help. When you load the pf_ring kernel module give it at least 65k and place your interfaces in transparent mode 1 as in: transparent_mode=1 min_num_slots=65536 (or even more than 65k if your kernel can handle it). You might need to also increase the kernel memory with vmalloc=256M as a boot parameter. o On some of our processors we got very good performance improvements by compiling snort with "-march=native -fomit-frame-pointer -O3" o What does cat /proc/interrupts show? Do you map the eth* IRQs to different CPUs or does CPU 0 do all the interrupts? o Then there is the snort.conf.. I will let other people chime on that.. Here are just a few things I can think of right now.. | | Livio On 12/19/2012 4:50 PM, Craig Merchant wrote:
I'm new to running Snort in fairly high throughput environment. We have a Snort sensor running in IDS mode and using a SPAN port. That core switch generally handles traffic volumes between 150 Mbit/sec to 600+ Mbit/sec.We purchased a Silicom fiber NIC and have installed the PF_RING drivers that use DNA and Libzero. The sensor has 32 cores in it. I've used the Libzero pfdnacluster_master to divide our traffic into 28 channels so we can run 28 Snort instances.Even with no rules applied to snort, some instances run at 90%+ almost all the time while others are running around 45%. Libzero doesn't load balance traffic by volume, so it's not surprising that we're seeing some instances burn more CPU than others. With a ruleset of only about 180 rules, we're seeing a number of the following messages when traffic flows near the top end of the range:<29>Dec 19 16:42:09 ids01-dc1 snort[2156]: S5: Session exceeded configured max bytes to queue 1048576 using 1049163 bytes (server queue). 12.130.137.111 51499 --> 68.87.26.147 25 (0) : LWstate 0x48 LWFlags 0x406107The command we use to start snort is (instance 10 in this example):snort -q -D -e --pid-path /var/run -i dnacluster:10@10 -c /opt/rb/etc/snort/snort.conf -l /var/log/snort/instance-10 --perfmon-file /var/log/snort/instance-10/stats/snort.stats --daq-dir /opt/rb/lib/daq/ --daq pcap --daq-mode passive --daq-var bindcpu=10 -R _10 --treat-drop-as-alertI'm wondering if there are any DNA/Libzero specific documents or threads that deal with performance tuning. Or if there is a definitive "best practices" methodology and guide for tuning Snort.Thanks! Craig ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Snort-users mailing list Snort-users () lists sourceforge net Go to this URL to change user options or unsubscribe: https://lists.sourceforge.net/lists/listinfo/snort-users Snort-users list archive: http://sourceforge.net/mailarchive/forum.php?forum_name=snort-users Please visit http://blog.snort.org to stay current on all the latest Snort news!
-- Livio Ricciulli MetaFlows Inc. (408) 835-5005
------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________ Snort-users mailing list Snort-users () lists sourceforge net Go to this URL to change user options or unsubscribe: https://lists.sourceforge.net/lists/listinfo/snort-users Snort-users list archive: http://sourceforge.net/mailarchive/forum.php?forum_name=snort-users Please visit http://blog.snort.org to stay current on all the latest Snort news!
Current thread:
- Snort on DNA/Libzero performance tuning Craig Merchant (Dec 19)
- Re: Snort on DNA/Libzero performance tuning Livio Ricciulli (Dec 20)