Skip to content
TopicTracker
From HackerNewsView original
TranslationTranslation

Saturating 10 Gigabit on Linux

This technical post documents benchmarks and configuration tuning to achieve full 10 Gigabit Ethernet throughput on Linux, covering CPU pinning, interrupt coalescing, and kernel bypass techniques.

Background

- The author is Grayhat (greyh.at), an independent technical blogger who writes about low-level Linux networking and systems programming. - 10 Gigabit Ethernet (10GbE) is a networking standard roughly 10x faster than typical home/office Gigabit Ethernet, commonly used in data centers, high-performance workstations, and serious homelabs. - "Saturating" a link means pushing data through it at the full theoretical maximum speed (e.g., transmitting at 10 Gbps on a 10 GbE connection), which is surprisingly hard to achieve in practice due to CPU bottlenecks, interrupt handling, kernel overhead, and PCIe bus limits. - The post walks through real-world optimizations like NIC tuning, CPU pinning, kernel bypass (e.g., using AF_XDP or DPDK), and hardware offloading that are needed to reach line rate on commodity Linux systems — a topic relevant to anyone building high-throughput network appliances, game servers, or custom storage fabrics.

Related stories