Für Webserver unter Linux ist das richtige Kernel-Tuning essenziell, um hohe Lasten zuverlässig zu bewältigen. Parameter wie somaxconn, tcp_tw_reuse oder backlog steuern die Art und Weise, wie der Kernel eingehende TCP-Verbindungen puffert und wiederverwendet. Falsche Einstellungen können zu Verbindungsabbrüchen, SYN-Backlogs oder unnötiger Ressourcennutzung führen. In diesem Artikel erklären wir praxisnah, wie diese Parameter korrekt gesetzt werden, welche Zusammenhänge bestehen und wie typische Fehler vermieden werden.
TCP Backlog und somaxconn
Das TCP-Backlog definiert, wie viele eingehende Verbindungen ein Server in der Warteschlange halten kann, bevor er sie akzeptiert. Der Kernel begrenzt die maximale Warteschlangenlänge durch den Parameter somaxconn.
Überprüfung des aktuellen Wertes
cat /proc/sys/net/core/somaxconn
Anpassung temporär
sudo sysctl -w net.core.somaxconn=65535
Dauerhafte Anpassung
echo "net.core.somaxconn = 65535" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Praxis-Tipp
Für Nginx oder Apache unter hoher Last sollten somaxconn und der listen backlog in der Webserver-Konfiguration aufeinander abgestimmt werden, z.B.:
listen 80 backlog=65535;
TIME-WAIT und tcp_tw_reuse
Jede TCP-Verbindung durchläuft nach dem Schließen den TIME-WAIT-Zustand, um sicherzustellen, dass verspätete Pakete korrekt behandelt werden. Unter hoher Last können viele TIME-WAIT-Sockets Ressourcen binden.
Aktivierung von tcp_tw_reuse
sudo sysctl -w net.ipv4.tcp_tw_reuse=1
Dauerhafte Konfiguration
echo "net.ipv4.tcp_tw_reuse = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Risiken
- Nur für Clients sicher, nicht für Server-Sockets, die eingehende Verbindungen akzeptieren
- Kann bei fehlerhafter Anwendung zu Paketen für alte Verbindungen führen
TCP Keepalive und tcp_fin_timeout
Der Parameter tcp_fin_timeout bestimmt, wie lange eine geschlossene Verbindung im FIN-WAIT-2-Zustand gehalten wird. Ein kurzer Timeout spart Ressourcen.
sudo sysctl -w net.ipv4.tcp_fin_timeout=30
Für stark frequentierte Webserver empfiehlt sich eine Kombination aus aktivem Keepalive in der Anwendung und angepasstem FIN-Timeout.
Netfilter und nf_conntrack
Unter hohen Verbindungszahlen kann auch die Connection Tracking Tabelle in der Firewall ein Limit erreichen.
Überprüfung
cat /proc/sys/net/netfilter/nf_conntrack_max
Anpassung
sudo sysctl -w net.netfilter.nf_conntrack_max=262144
Optimale Kombination für Webserver
somaxconnhoch setzen, z.B. 65535- Webserver-Backlog entsprechend anpassen
tcp_tw_reuse=1aktivieren für Client-Verbindungentcp_fin_timeoutauf 30–60 Sekunden setzen- Connection Tracking Tabelle prüfen und ggf. erhöhen
- Monitoring einrichten, um SYN- und TIME-WAIT-Werte zu beobachten
Monitoring und Troubleshooting
Mit den folgenden Befehlen lassen sich wichtige Kennzahlen live überwachen:
# Aktive Verbindungen
ss -s
# TIME-WAIT Sockets
ss -tn state time-wait
# SYN Queue
netstat -s | grep -i syn
Zusammenfassung
Die richtige Abstimmung von somaxconn, tcp_tw_reuse und backlog ist entscheidend, um Webserver unter hoher Last stabil zu betreiben. Durch Monitoring und iterative Anpassung lassen sich Ressourcen effizient nutzen, Verbindungsabbrüche vermeiden und die Performance signifikant verbessern. Eine koordinierte Konfiguration zwischen Kernel, Webserver und Anwendung garantiert eine robuste Infrastruktur für moderne Web-Stacks.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











