Compare a NIC's line-rate packet ceiling against what its CPU cores can actually process.
The link imposes one packet ceiling and the host's packet-processing path imposes another; the achievable rate is the lower of the two, converted back into bits per second. Segmentation and receive-side offloads raise the CPU ceiling by batching per-packet work. A 25 or 100 Gbit/s NIC in a box with too few cores or offloads disabled delivers a fraction of its rating, and the symptom looks like a network fault rather than a host limit.
NIC Throughput
line-rate pps = link bits/s ÷ ((frame + 20) × 8); achievable pps = min(line rate, cores × pps per core × offload factor).
line-rate pps = link bits/s ÷ ((frame + 20) × 8); achievable pps = min(line rate, cores × pps per core × offload factor). The link imposes one packet ceiling and the host's packet-processing path imposes another; the achievable rate is the lower of the two, converted back into bits per second. Segmentation and receive-side offloads raise the CPU ceiling by batching per-packet work.
A 25 or 100 Gbit/s NIC in a box with too few cores or offloads disabled delivers a fraction of its rating, and the symptom looks like a network fault rather than a host limit.
This calculator takes 5 inputs: Link speed, Average frame size, Cores handling packets, Packets per second per core, Hardware offload enabled (TSO/LRO/RSS). The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.