bk99.de entertain the web since 1997

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/sockstat helps 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

Read the original article

Search the Web Archive