Network & Infrastructure / Linux Networking & Host Performance
RSS queue imbalance and one saturated CPU on a fast NIC
A server has spare aggregate CPU but loses receive packets on one core. Receive-side scaling may concentrate the active flow set on a small subset of queues.
Environment and inputs: Linux network namespaces, host routing and network drivers; availability and semantics depend on kernel and driver versions. Diagnostic/design example; not tested on production equipment.
Collect the evidence
Record per-queue packet/drop counters, interrupt affinity, CPU load and flow diversity. Check negotiated queue count and the driver-supported RSS hash configuration.
Explain the result
RSS distributes packets using a hash, typically preserving flow order. One large flow may legitimately use one queue, so total CPU availability does not guarantee that its processing core has headroom.
Plan the fix
Align queue count and CPU affinity with the hardware topology and workload. Consider application parallelism or supported steering rather than expecting one flow to spread safely across arbitrary cores.
Check the result and rollback
Validate representative mixed flows, drops and tail latency under load. Restore prior affinity if cache locality or interrupt contention worsens without reducing the constrained queue's backlog.