Argus, CPU load and threading

Jesper Skou Jensen jesper.skou.jensen at uni-c.dk
Thu Feb 13 03:59:47 EST 2014


Hi Carter (and the rest of you guys),

I'll just pick up on this somewhat old thread again.

Last summer I was a bit sidetracked and didn't get much time to look 
into this issue, but I have just started looking into it again, mainly 
because we recently upgraded the Internet connection and Argus will 
potentially receive a lot more data than it did earlier.

Once again, during normal traffic all appears to be just fine, but when 
we experience massive DDoS attacks (mostly UDP flood) and when we 
load-test our setup that this issue appears. But I would like to be able 
to log all the traffic and be sure we aren't losing any packets/log.

I'm 100% sure it's not the switch, nor is it the network cable and I've 
also ruled out the NIC on the Argus box that's the issue. I can say that 
I'm 100% sure because:
1. snmp monitoring of the switch shows a much larger load
2. nload running on the Argus box shows a much larger load

Both snmp and nload shows about 1/3 to 1/2 more bytes/pkts than Argus 
seems to have captured. I used "ragraph proto bytes -M 1s -r input.ra -w 
output.png" to generate graphs of the traffic.

Which again leads me to think Argus is to "blame".

Do you guys have any ideas on now to get to the bottom of this issue?

If it matters, argus is running with this commandline "argus -i eth4 -P 
0 -S 5 -e 4 -w output.ra" and the output.ra is rotated/moved every 15 
minutes and analyzed/archived later on.


Regards
Jesper

On 26-06-2013 18:34, Carter Bullard wrote:
> Hey Jesper,
> Argus is multi-threaded, with a thread for packet processing,
> flow modeling, queue management and output.  The more independent
> packet sources, the more threads.  On this workstation, argus
> has 5 threads running.  Now, we could definitely improve the
> use of threads, but I think we're doing ok.
>
> There are lots of things that could be different between the
> two machines, that could impact performance.  Front and back bus,
> memory bandwidth, L1 and L2 cache sizes, and type of integrated
> ethernet chipsets.  All of these can affect performance.
>
> With regard to packet loss, don't forget that the switch that
> is doing the port mirroring is a primary source of packet loss.
> There is going to be a difference between the interfaces
> used on the switch.  So, in your testing, be sure and swap ports
> for the packet sources, to see if the loss follows that.
>
> As long as you're running the same version, I would attribute
> the differences to the switch first, bus bandwidth second, CPU
> speed third, ethernet chipset 4th…, hard to say which one at
> this point.
>
> Carter
>
>
> On Jun 26, 2013, at 11:00 AM, Jesper Skou Jensen <jesper.skou.jensen at uni-c.dk> wrote:
>
>> Hi guys,
>>
>> Short version:
>> In short, am I right to assume that Argus isn't particularly well suited for multi core/threads? As in, it doesn't use much more than two cores at a time, even if the CPU has many more cores that are idling?
>>
>> Long version:
>> I recently upgraded my Argus box from an older Dell (Quad Core Xeon E5410 - 2.33GHz) to a brand spanking new HP (2x Octa Core Xeon E5-2650 - 2GHz), in that process I expected Argus to perform a lot better, but that doesn't look like it's the case, and I'm wondering why.
>>
>> Is Argus very dependent on Hz? I would expect the new CPU to blow the old one out of the water.
>>
>> I still have the old and the new box running, both receiving the same mirror/monitor port traffic, and I've tried to compare the two. Both boxes are running Argus 3.0.6.1 with the same settings/options at the moment - Until I get 3.0.7.3 installed on my new box, having a few issues with it not compiling right.
>>
>> During normal network load, they show a CPU load:
>> OldBox: 23%
>> NewBox: 35%
>> and Argus captures all packets on both servers just fine.
>>
>> During a heavy network load (DDoS) I have previously noticed the CPU load to hover around 180-190% on the old box, unfortunately I haven't observed the new box during a DDoS but I'm expecting it to be around the same numbers.
>>
>> NOW for the important part...
>>
>> It appears that the new box is dropping packets, compared to the old one. :(
>>
>> The old one does drop packets during a DDoS, I know that for sure, but that the new one wouldn't be able to cope is a small mystery to me.
>>
>> I have compared a few minutes before, during and after the DDoS in question.
>>
>> :~$ racount -r argusfile.ra_oldbox
>> racount   records     total_pkts     src_pkts       dst_pkts total_bytes        src_bytes          dst_bytes
>>     sum   6221694     16046917       11623543       4423374 8917614173         2212376654         6705237519
>>
>> :~$ racount -r argusfile.ra_newbox
>> racount   records     total_pkts     src_pkts       dst_pkts total_bytes        src_bytes          dst_bytes
>>     sum   5366008     15231963       10608231       4623732 8854037128         2159179022         6694858106
>>
>> ragraph confirms it, there is a noticeable drop in bytes/sec, while pkts/sec appears almost the same.
>>
>> Do you guys have any good ideas/explanations for this behavior?
>>
>>
>> Regards
>> Jesper
>>




More information about the argus mailing list