Network & Infrastructure / Linux Networking & Host Performance
RPS and RFS tuning without duplicating unnecessary packet work
A virtual host lacks hardware queue flexibility, and a team enables broad software steering. Throughput can improve or worsen depending on CPU locality and the workload's processing pattern.
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
Measure hardware queue availability, softirq load, application CPU placement and cross-core activity before and after a scoped experiment. Keep packet rates and flow distribution comparable.
Explain the result
Software steering moves receive processing across CPUs and can improve parallelism, but it adds scheduling and cache costs. It is not automatically beneficial when hardware RSS already distributes work effectively.
Plan the fix
Select supported RPS/RFS settings for the measured bottleneck and CPU topology. Avoid enabling every CPU mask by default across hosts with very different NIC and NUMA layouts.
Check the result and rollback
Compare goodput, drops, CPU cost per packet and application latency. Restore previous steering if overhead increases or packet processing moves away from the application without useful capacity gain.