Argus, CPU load and threading
Jesse Bowling
jessebowling at gmail.com
Thu Feb 13 08:30:45 EST 2014
Hi Jesper,
I didn't see any details on the configuration of the box argus is running on; OS, NIC, any special drivers (I.e PF_RING), performance tuning...can you add some detail on that end?
Cheers,
Jesse
> On Feb 13, 2014, at 3:59 AM, Jesper Skou Jensen <jesper.skou.jensen at uni-c.dk> wrote:
>
> 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