# leandromoreira/linux-network-performance-parameters

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/leandromoreira-linux-network-performance-parameters).**

5,796 stars · 533 forks · BSD-3-Clause

## Links

- GitHub: https://github.com/leandromoreira/linux-network-performance-parameters
- Homepage: https://github.com/leandromoreira/linux-network-performance-parameters
- awesome-repositories: https://awesome-repositories.com/repository/leandromoreira-linux-network-performance-parameters.md

## Topics

`kernel` `linux` `network` `performance` `sysctl` `tcp`

## Description

This is a structured reference that maps Linux kernel network sysctl parameters to their specific roles in the packet processing pipeline, from the network interface card through to the application layer. It covers the full path of packet traversal, including interrupt mitigation, buffer management, queuing disciplines, and TCP auto-tuning mechanisms.

The reference details how to configure kernel parameters for connection handling, including TCP listen backlog, SYN queue management, FIN timeout, and syncookies. It also addresses queue management and bufferbloat control through egress queuing disciplines, ring buffer sizing, and ingress backlog limits, alongside TCP buffer tuning with auto-tuning capabilities.

The material covers traffic management for both ingress and egress paths, including hardware interrupt coalescing, NAPI polling cycles, NIC ring buffer resizing, and soft IRQ adjustments. It also provides guidance on TCP congestion control algorithm selection and socket buffer size configuration, with diagnostic commands for inspecting packet drops, queue lengths, interrupt activity, and TCP connection states.

## Tags

### Networking & Communication

- [Packet Flow References](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-utilities/network-performance-optimizers/sysctl-network-tunings/packet-flow-references.md) — Serves as a structured reference mapping Linux kernel network sysctl parameters to their roles in packet processing.
- [Sysctl Network Tunings](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-utilities/network-performance-optimizers/sysctl-network-tunings.md) — Provides a structured reference for tuning kernel network parameters via sysctl files in /proc/sys.
- [TCP Congestion Control Configuration](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-utilities/network-performance-optimizers/tcp-congestion-optimizers/tcp-congestion-control-configuration.md) — Provides guidance on selecting and configuring TCP congestion control algorithms for different network conditions. ([source](https://github.com/leandromoreira/linux-network-performance-parameters/blob/master/README.md))
- [NIC Ring Buffer Resizing](https://awesome-repositories.com/f/networking-communication/packet-capture-engines/ring-buffer-capture/nic-ring-buffer-resizing.md) — Provides guidance on resizing NIC ring buffers to handle packet bursts and prevent drops. ([source](https://github.com/leandromoreira/linux-network-performance-parameters))
- [Ingress Packet Processing Tuning](https://awesome-repositories.com/f/networking-communication/packet-engines/packet-processing-frameworks/kernel-space-packet-processing/ingress-packet-processing-tuning.md) — Documents sysctl parameters for tuning the entire ingress packet processing pipeline from NIC to application. ([source](https://github.com/leandromoreira/linux-network-performance-parameters))
- [TCP Connection Handling Configuration](https://awesome-repositories.com/f/networking-communication/tcp-connection-lifecycles/multipath-tcp-connections/tcp-connection-handling-configuration.md) — Documents sysctl parameters for configuring TCP connection handling, including backlog, SYN queue, and timeout settings. ([source](https://github.com/leandromoreira/linux-network-performance-parameters))
- [Bufferbloat Controls](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-reliability/backpressure-and-backlog-management/bufferbloat-controls.md) — Covers adjusting egress queuing disciplines, ring buffers, and ingress backlog limits to control bufferbloat.
- [Connection Backlog Tuning](https://awesome-repositories.com/f/networking-communication/connection-management/connection-backlog-tuning.md) — Describes configuring kernel-level TCP listen backlog and SYN queue limits to control pending connections.
- [TCP Connection Handling](https://awesome-repositories.com/f/networking-communication/connection-management/connection-backlog-tuning/tcp-connection-handling.md) — Documents configuring TCP listen backlog, SYN queue, FIN timeout, and syncookies for connection handling.
- [Ingress Queue Depth Limiters](https://awesome-repositories.com/f/networking-communication/ingress-queue-depth-limiters.md) — Documents sysctl parameters for limiting ingress queue depth to prevent packet drops under kernel overload. ([source](https://github.com/leandromoreira/linux-network-performance-parameters/blob/master/README.md))
- [Performance Diagnostics](https://awesome-repositories.com/f/networking-communication/network-stacks/network-stack-inspections/performance-diagnostics.md) — Provides diagnostic commands for inspecting packet drops, queue lengths, interrupt activity, and TCP states. ([source](https://github.com/leandromoreira/linux-network-performance-parameters/blob/master/README.md))
- [Queue Depth Settings](https://awesome-repositories.com/f/networking-communication/network-traffic-controllers/egress-controllers/queue-depth-settings.md) — Documents setting the transmit queue length to manage outgoing packet bursts and bufferbloat. ([source](https://github.com/leandromoreira/linux-network-performance-parameters/blob/master/README.md))
- [Selection Interfaces](https://awesome-repositories.com/f/networking-communication/packet-engines/congestion-controllers/selection-interfaces.md) — Documents how to select and switch TCP congestion control algorithms via sysctl parameters.
- [Egress Path Tuning](https://awesome-repositories.com/f/networking-communication/packet-engines/packet-processing-frameworks/kernel-space-packet-processing/egress-path-tuning.md) — Covers tuning the egress packet path from application socket buffers through QDiscs and ring buffers to the NIC. ([source](https://github.com/leandromoreira/linux-network-performance-parameters))
- [Soft IRQ and Ingress Queuing Adjustments](https://awesome-repositories.com/f/networking-communication/soft-irq-and-ingress-queuing-adjustments.md) — Documents sysctl parameters for tuning soft IRQ and ingress queuing to balance packet processing throughput and latency. ([source](https://github.com/leandromoreira/linux-network-performance-parameters))
- [TCP Connection Queue Limit Configuration](https://awesome-repositories.com/f/networking-communication/tcp-connection-lifecycles/tcp-connection-acceptance/tcp-connection-queue-limit-configuration.md) — Documents how to configure the TCP listen backlog limit to control pending connection queue depth. ([source](https://github.com/leandromoreira/linux-network-performance-parameters/blob/master/README.md))

### Education & Learning Resources

- [NIC Interrupt Coalescing Parameters](https://awesome-repositories.com/f/education-learning-resources/hardware-interrupt-tutorials/nic-interrupt-coalescing-parameters.md) — Provides a structured reference for tuning NIC interrupt coalescing parameters to balance latency and CPU usage. ([source](https://github.com/leandromoreira/linux-network-performance-parameters))

### Operating Systems & Systems Programming

- [Interrupt Coalescing Configuration](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/interrupt-handling/network-polling-interrupts/interrupt-coalescing-configuration.md) — Provides a reference for configuring NIC interrupt coalescing and NAPI polling budgets to optimize network performance. ([source](https://github.com/leandromoreira/linux-network-performance-parameters/blob/master/README.md))
- [NIC Ring Buffer Size Adjustment](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/buffer-and-cache-management/network-buffer-managers/system-buffer-size-management/nic-ring-buffer-size-adjustment.md) — Documents how to adjust NIC ring buffer sizes to prevent packet drops during traffic bursts. ([source](https://github.com/leandromoreira/linux-network-performance-parameters/blob/master/README.md))
- [Algorithm Selection](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/kernel-networking/congestion-control-algorithms/algorithm-selection.md) — Documents how to select and switch TCP congestion control algorithms via sysctl parameters. ([source](https://github.com/leandromoreira/linux-network-performance-parameters))
- [TCP Socket Buffer Tuning](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/buffer-and-cache-management/network-buffer-managers/tcp-socket-buffer-tuning.md) — Describes adjusting TCP send and receive buffer sizes with auto-tuning to balance memory and performance.
- [Auto-Tuning Mechanisms](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/buffer-and-cache-management/network-buffer-managers/tcp-socket-buffer-tuning/auto-tuning-mechanisms.md) — Explains how the kernel automatically tunes TCP buffer sizes using the bandwidth-delay product.

### System Administration & Monitoring

- [Kernel Network Tuning](https://awesome-repositories.com/f/system-administration-monitoring/application-performance-monitoring/performance-tuning/server/kernel-network-tuning.md) — Provides a comprehensive reference for optimizing kernel-level network parameters on Linux servers.

### User Interface & Experience

- [NAPI Polling Cycle Tuning](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/event-handling-architectures/event-handling-systems/event-queue-polling/kernel-event-polling/napi-polling-cycle-tuning.md) — Documents sysctl parameters for tuning NAPI polling cycles to balance network throughput and CPU utilization. ([source](https://github.com/leandromoreira/linux-network-performance-parameters/blob/master/README.md))

### DevOps & Infrastructure

- [Kernel Queuing Disciplines](https://awesome-repositories.com/f/devops-infrastructure/distributed-locks/request-queuing/kernel-queuing-disciplines.md) — Covers configuring the transmit queue length and default queuing algorithm for egress packet management. ([source](https://github.com/leandromoreira/linux-network-performance-parameters))

### Hardware & IoT

- [Coalescing Configurations](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/internet-of-things/device-management/peripheral-device-managers/interrupt-handlers/device-completion-interrupts/coalescing-configurations.md) — Explains how to configure NIC interrupt coalescing delays to trade latency for CPU efficiency.

### Software Engineering & Architecture

- [NAPI Polling Models](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-architectures/polling-mechanisms/napi-polling-models.md) — Documents the NAPI polling model used by the kernel to batch-process network packets.
- [Ring Buffers](https://awesome-repositories.com/f/software-engineering-architecture/queue-implementations/ring-buffers.md) — Describes NIC driver ring buffers that temporarily store packets during bursts to prevent drops.
- [Queuing Disciplines](https://awesome-repositories.com/f/software-engineering-architecture/traffic-burst-controllers/queuing-disciplines.md) — Covers configuring egress queuing disciplines like pfifo_fast and fq_codel to manage packet bursts.

### Part of an Awesome List

- [Curated Lists](https://awesome-repositories.com/f/awesome-lists/more/curated-lists.md) — Listed in the “Curated Lists” section of the The Book Of Secret Knowledge awesome list.
