[CentOS] NIC interrupts and packets per second ratio, how to calculate? There must be some way...

Tue May 21 05:03:50 UTC 2013
John R Pierce <pierce at hogranch.com>

On 5/20/2013 10:07 PM, Alex Flex wrote:
> Iam trying to asses the best hardware for a machine that procceses a
> high number of packets per second on its NIC. THe only way I can achieve
> this without guesses is If iam able to understand or test what the
> number of interrupts available per core and how to translate that to PPS
> capabilities.
> So far ive been testing an Core I5 CPU  and was able to achieve up to
> 400k packets (small syn packets) in a single core (2.8Ghz i think..)
> untill the point where 100% was reported to serve as hardware
> interrupts, yet what is the math behind this?
> In any case, i find this rather low and confused as I know for a fact
> that small home routers even on gigabit have specs that detail they can
> do packet forwarding at rates up to 1.4 million pps and iam sure there
> CPU is no where as powerfull as a 2.8Ghz Core I5 core.
> Any orientation is much appreciated.

use a better server grade NIC.     the cheap desktop/laptop ones require 
more CPU per IRQ and generate more IRQs requiring CPU intervention, the 
server grade NICs unload more of the work and allow the CPU to handle 
things more efficiently.

that said, 400K packets per second on a 1gigE, thats 335 bytes/per 
packet, INCLUDING packet overhead and interpacket time .... subtracting 
about 10% and assuming the 1gigE is max 100MByte/sec actual useful data 
transfer (I rarely see over 80MB/s), now we're looking at 260 bytes/packet.

john r pierce                                      37N 122W
somewhere on the middle of the left coast