TCP Retransmits und erhöhte Latenz sind in Web- und Applikations-Stacks ein häufiges Symptom für Netzwerkprobleme. Allerdings führen sie oft zu Verwirrung, weil ähnliche Symptome auch von der Anwendung selbst oder vom Server-Stack verursacht werden können. In diesem Artikel lernen Sie, wie Sie TCP Retransmits messen, die Ursachen zwischen Netzwerk- und Applikationsebene unterscheiden und praktische Maßnahmen zur Optimierung der Performance ergreifen können.
Grundlagen: TCP Retransmits verstehen
TCP Retransmits entstehen, wenn ein gesendetes Paket innerhalb der festgelegten Retransmit-Timeout-Periode nicht bestätigt wird. Dies kann sowohl auf Netzwerkprobleme (z.B. Paketverlust, Überlastung) als auch auf Überlastung auf der Serverseite hindeuten.
Typische Ursachen für Retransmits
- Paketverlust auf der Leitung (physikalisch oder virtuell)
- Hohe Latenz durch Netzwerküberlastung
- Serverseitige Verarbeitung verzögert ACKs
- Firewall oder NAT-Geräte, die Pakete verzögern oder verwerfen
Symptome erhöhter TCP-Retransmits
Ein hoher Anteil an Retransmits führt zu messbarer Latenz, Timeouts und schlechter User-Experience. Typische Symptome sind:
- Lange Ladezeiten bei HTTP/HTTPS-Anfragen
- Timeouts bei API-Aufrufen oder Datenbankverbindungen
- Netzwerkanalyse zeigt wiederholte Paket-Sendungen
- Logs auf Servern enthalten Warnungen zu Timeouts oder verzögerten Responses
Monitoring: TCP Retransmits erkennen
Linux Tools
Auf Linux-Systemen können Retransmits und Netzwerkstatistiken über folgende Tools gemessen werden:
# Alle TCP-Socket-Statistiken
ss -s
TCP Retransmits pro Socket
netstat -s | grep retransmits
Fortlaufendes Monitoring
watch -n 1 'ss -s | grep retrans'
Wireshark / tcpdump
Zur tiefergehenden Analyse von Netzwerkpaketen und Retransmits:
# TCP Pakete für Port 443 mitschneiden
tcpdump -i eth0 tcp port 443 -w capture.pcap
Im Wireshark Retransmits markieren und analysieren
Ursache identifizieren: Netzwerk vs. Applikation
Es ist entscheidend, zwischen Netzwerk- und Anwendungsproblemen zu unterscheiden, um gezielt optimieren zu können.
Netzwerkbedingte Retransmits
- Hoher Paketverlust oder verzögerte ACKs
- Probleme treten systemweit auf, nicht nur für einzelne Requests
- Netzwerkanalyse zeigt mehrfach gesendete Pakete ohne Serverantwort
Applikationsbedingte Verzögerungen
- TCP Retransmits entstehen indirekt durch verspätete ACKs vom Server
- Betroffen sind bestimmte URLs oder Endpunkte, oft bei rechenintensiven Operationen
- Server-Logs zeigen hohe Request-Verarbeitungszeiten
Messmethoden für Latenztrennung
Round-Trip-Time vs. Server Response
- Mit
pingodermtrRTT messen - Mit
curl -w '%{time_total}'reine Server-Antwortzeiten messen - Vergleich zeigt, ob Latenz durch Netzwerk oder Applikation entsteht
Beispiel mit curl
curl -o /dev/null -s -w "Total: %{time_total}snConnect: %{time_connect}sn" https://example.com
Optimierungsstrategien
Netzwerkseitige Maßnahmen
- Switches und Router auf Paketverlust prüfen
- QoS implementieren, um wichtige Verbindungen zu priorisieren
- MTU- und TCP-Parameter (z.B. TCP window scaling) anpassen
- Redundante Pfade und Load Balancer zur Vermeidung von Engpässen
Server- und Applikationsseitige Maßnahmen
- Keep-Alive und Connection Pooling aktiv nutzen
- Asynchrone Verarbeitung von Requests einsetzen
- TCP-Backlog in Nginx/Apache erhöhen:
worker_connections 10240;
listen 80 backlog=2048;
Monitoring & Alerting
Ein kontinuierliches Monitoring hilft, zwischen Netzwerk- und App-Problemen frühzeitig zu unterscheiden:
- Prometheus Node Exporter: tcp_retransmits, tcp_established
- Grafana Dashboards für RTT, Retransmits und Server-Response-Time
- Alerts bei plötzlichem Anstieg der Retransmits oder Latenzspitzen
Praxisbeispiel: Nginx + PHP-FPM Stack
# Nginx Worker & Backlog optimieren
worker_processes auto;
worker_connections 8192;
listen 80 backlog=2048;
PHP-FPM Tuning
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
Keep-Alive aktiv
keepalive_timeout 65s;
Fazit
TCP Retransmits sind ein wertvoller Indikator für Performance-Probleme, doch die Ursache kann sowohl im Netzwerk als auch in der Applikation liegen. Mit gezieltem Monitoring, klaren Trennmethoden zwischen RTT und Server-Response sowie angepassten Netzwerk- und Serverparametern lassen sich Latenzen reduzieren und die Stabilität von Web-Stacks erhöhen.
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.











