Linux network parameters in context
Summary
Leandro Moreira maps Linux network parameters to their positions in the receive, queueing and TCP path. /proc/net/softnet_stat shows drops and exhausted poll budgets, among other things. tc -s qdisc provides statistics for the output queues.
Ideas
- NAPI budgets limit packet work per poll round and time window.
- netdev_max_backlog buffers packets when the kernel cannot process them fast enough.
- Queueing disciplines influence burst behaviour, fairness and bufferbloat.
- TCP send and receive buffers react to memory and load conditions.
- Every parameter needs a suitable measurement to check its success.
Insights
- Tuning without data usually just moves bottlenecks between queues.
- Larger buffers increase throughput reserves and also possible latency.
- Network performance arises along a path, not through a single sysctl value.
Facts
/proc/net/sockstathelps to observe TCP memory usage.
Recommendations
- Change one parameter at a time and save the previous values.
- Measure drops, latency, throughput and CPU distribution under representative load.
References
Links to the original source and the Web Archive open in a new tab.