Hello.

I went through a massive number of documents regarding the netsniff itself, 
including reading code of both the application, libpcap and kernel parts, 
intel manuals for X520 and CPUs. Enough of reading, let's do something.

How to tune netsniff-ng for the maximum performance? Question seems 
trivial, answer is not so. Feel free to correct me. X520 and a few gbit/sec 
and a NUMA (Sandy Bridge) system is what I have here.

For the best cache utilisation, netsniff-ng should be on the same core that 
card delivers packets to. With IO/AT and DCA we could have something like 
this:

-- packets --> card --> cpu cache --> netsniff-ng

It makes sense with DCA, actually.

Now, does it mean we want RSS disabled and a single queue pinned to a 
single core?

Won't the number of interrupts (even using interrupt mitigation that's in 
the ixgbe driver) kill the single core?

Alternatively (I have only 2.0Ghz CPU and that's not enough to keep up with 
the load from interrupts and netsniff-ng together on the same core) - 
interrupts on core1, netsniff-ng on core2 (we're talking physical cores 
from the same socket).
This will generate L1 and L2 miss most of the time but we still have L3 
that's inclusive (and huge). Win?

With the kernel parameters "nohz_full=1-23 isolcpus=1-23" scheduler will 
keep other tasks off the cores (1-23) by setting affinity on the init 
process and disable ticks on them if there is a single task running (other 
kernel threads can be set to run on core 0).

What gives the best write performance - sg or mmap?

-- 
You received this message because you are subscribed to the Google Groups 
"netsniff-ng" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to