NIC Throughput Calculator
Estimate maximum usable NIC throughput after protocol overhead, with per-queue distribution.
Inputs
e.g. 10000 for a 10GbE NIC
Typically matches CPU core count for RSS
Max Usable Throughput (Mbps)
9,700.0
Throughput per Queue (Mbps)
1,212.50
RX/TX Queue Count
8
Step by step
Values used
NIC Line Rate (Mbps) = 10,000; Protocol/Framing Overhead % = 3; RX/TX Queue Count = 8
Maximum usable throughput
max_throughput = line_rate × (1 − overhead%)
Max Usable Throughput (Mbps)
= 9,700.0
Throughput per Queue (Mbps)
= 1,212.50
RX/TX Queue Count
= 8
How it works
A NIC's advertised line rate (e.g. 10GbE) is the raw physical-layer signaling rate, not the throughput available to applications — Ethernet/IP/TCP framing overhead (headers, interframe gaps, preambles, and any encapsulation like VLAN tags or tunneling) always consumes a percentage of that rate before payload data gets through. Modern multiqueue NICs also spread traffic across multiple RX/TX queues (typically one per CPU core, distributed via RSS) so that packet processing scales with core count rather than bottlenecking on a single CPU — dividing usable throughput by queue count estimates the per-queue share under evenly balanced load.
Formula
Maximum usable throughput
max_throughput = line_rate × (1 − overhead%)
- R_{line}
- NIC line rate
- o
- protocol/framing overhead fraction
Frequently Asked Questions
How do I check the number of RX/TX queues configured on a NIC?
`ethtool -l <iface>` shows the current and maximum combined/RX/TX queue counts; `ethtool -L <iface> combined <N>` adjusts it (support and limits vary by NIC driver).
Why doesn't traffic distribute perfectly evenly across queues?
RSS (Receive Side Scaling) hashes packet headers (typically the 5-tuple) to select a queue, so a small number of very high-volume flows can concentrate on fewer queues than expected — true even distribution depends on having many diverse flows, not just having many queues configured.
What typical overhead percentage should I assume?
For standard 1500-byte MTU Ethernet with TCP/IP, overhead is commonly in the 2-5% range; it rises with smaller packet sizes (fixed per-frame overhead is amortized over less payload) and with additional encapsulation layers like VLAN tagging, VXLAN, or IPsec.