Merry Christmas & Happy 2027! Less downtime. More good times. Celebrating 13 years of sorlavit.com
Skip to content
Sorlavit KimIT Support, Network & Infrastructure Services Let’s talk

ปุ่มแปลไทยจะเปิดบทความผ่าน Google Translate เพื่อแปลอัตโนมัติ โดยคงโค้ดและคำสั่งไว้ตามต้นฉบับ

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.

Compiled for Sorlavit Kim · Published · Updated · 2 min read

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.

Source & further reading

Linux kernel — network scaling

Independently written summary reviewed on 2026-11-01. The example illustrates a possible application; it is not a client case study.

Share this article

Back to all articles