Hetzner Cloud VPS Tuning: Linux-Kernel & TCP BBR für Sub-50ms TTFB

Praxiserprobte Systemkonfiguration für Hetzner CPX/CX Cloud-Instanzen (AMD EPYC): Optimierung von sysctl, TCP BBR Congestion Control und CPU-Governors zur Beseitigung von Server-Latenzen.

Hetzner Cloud gehört im DACH-Raum zu den beliebtesten Hosting-Infrastrukturen für mittelständische Unternehmen und E-Commerce-Plattformen. Die AMD EPYC Instanzen (CPX-Serie) in den Rechenzentren Falkenstein und Nürnberg bieten hervorragende Rechenleistung pro Euro. Standardmäßig werden Linux-Images (Ubuntu 22.04 / 24.04 LTS oder Debian 12) jedoch mit generischen Kernel-Parametern ausgeliefert, die auf Desktop- oder Standard-Workloads ausgelegt sind – nicht auf hochfrequentierte Webserver.

In Produktionsumgebungen führt dies häufig zu unnötig hohen Time to First Byte (TTFB) Werten von 400ms bis 900ms, obwohl die Hardware-Ressourcen kaum ausgelastet sind.

Hier ist das praxiserprobte Runbook, mit dem wir Hetzner Cloud VPS Instanzen auf einen konstanten TTFB unter 50 Millisekunden optimieren.


1. Diagnose: Identifikation des Netzwerk- & Kernel-Engpasses

Vor jeder Parameteränderung erfassen wir die Baseline über curl und überprüfen den aktuellen TCP Congestion Control Algorithmus:

# Baseline TTFB Latenzmessung gegen den Origin Server
curl -o /dev/null -s -w "DNS: %{time_namelookup}s | Connect: %{time_connect}s | TLS: %{time_appconnect}s | TTFB: %{time_starttransfer}s | Total: %{time_total}s\n" https://ihre-domain.de/

# Aktuellen TCP Congestion Control Algorithmus prüfen
sysctl net.ipv4.tcp_congestion_control
# Standard-Rückgabe auf frischen Instanzen meist: "cubic"

Der standardmäßige cubic-Algorithmus reagiert bei minimalem Packet Loss überproportional defensiv und halbiert das Congestion Window ($cwnd$). Googles BBR (Bottleneck Bandwidth and RTT) Algorithmus hält die Bandbreite dagegen am physischen Durchsatzmaximum, ohne die Warteschlangen im Puffer zu überfüllen.


2. Kernel-Tuning: TCP BBR & Socket Backlog in /etc/sysctl.d/99-hetzner-web.conf

Wir hinterlegen eine dedizierte Konfigurationsdatei, die Systemupgrades überdauert:

# /etc/sysctl.d/99-hetzner-web.conf

# 1. BBR Congestion Control & FQ Queuing Disziplin
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

# 2. Erhöhung der Verbindungs-Backlogs für Traffic-Peaks
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 16384
net.core.netdev_max_backlog = 16384

# 3. Schnelles Schließen und Wiederverwenden von TIME_WAIT Sockets
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15

# 4. TCP Window Scaling & Puffergrößen (Optimiert für 10G Hetzner Network)
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# 5. Schutz vor SYN-Flood & Portexhaustion
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_syncookies = 1

Aktivieren Sie die Parameter im laufenden Betrieb ohne Serverneustart:

sudo sysctl --system
# Verifizieren, dass BBR aktiv ist:
sysctl net.ipv4.tcp_congestion_control
# Ausgabe: net.ipv4.tcp_congestion_control = bbr

3. CPU-Governor: Umstellung auf Performance

Hetzner Shared CPU Instanzen drosseln ungenutzte vCPUs in Energiesparzustände. Bei unregelmäßigen Web-Anfragen führt das Aufwachen der CPU-Kerne zu mikrosekundengenauen Latenzen, die sich im TTFB aufsummieren:

# Aktuellen Governor prüfen
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

# Auf Performance zwingen (falls cpufrequtils installiert ist)
sudo apt-get install -y cpufrequtils
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo systemctl restart cpufrequtils

4. Hetzner vSwitch / Private Network Latenzen

Wenn Sie separate Instanzen für Nginx (Reverse Proxy) und MySQL/PostgreSQL betreiben, nutzen Sie ausschließlich das Hetzner Cloud Private Network (vSwitch) mit statischen MTU-Einstellungen:

# /etc/netplan/60-hetzner-private.yaml
network:
  version: 2
  ethernets:
    enp7s0:
      addresses:
        - 10.0.0.2/24
      mtu: 1450 # Hetzner Cloud vSwitch empfohlene MTU

Eine falsche MTU (>1450 auf dem internen VXLAN-Tunnel) führt zu stiller Paketfragmentierung und unerklärlichen 1,2-Sekunden-Lags bei Datenbankabfragen.


5. Das Ergebnis: Vorher / Nachher Benchmark

Nach dem Einspielen des Kernel-Tunings und der BBR-Aktivierung auf einer Hetzner CPX31 (4 vCPU AMD, 8 GB RAM):

Metrik Unoptimiertes Hetzner Ubuntu Image Nach Kernel- & BBR-Tuning
TCP Handshake + TLS 128 ms 42 ms
Origin TTFB (Dynamic PHP 8.3) 480 ms 38 ms
Concurrent Requests / Sec (K6) 140 req/s (5% Timeout) 680 req/s (0% Fehler)
P95 Latenz unter Last 1.850 ms 110 ms

Keine teurere Hardware, kein Umzug zu einem Managed Hosting Provider — reine Beherrschung der Linux-Systemparameter am Ursprung.


🔗 Zusammenhängende Systemdiagnosen & Infrastruktur-Geflecht:

Server- und Performance-Engpässe treten selten isoliert auf. Origin-Server-Latenzen, Datenbankstrukturen und Frontend-Metriken greifen direkt ineinander:

🛠️ Engineering Next Step

Benötigen Sie direkte Implementierung auf Ihrem Server?

Eingriffe in Serverkonfigurationen, Datenbank-Indizierung oder JavaScript-Optimierungen auf Produktivsystemen bergen Ausfallrisiken. Wenn Sie eine risikofreie Fehlerbehebung ohne Ausfallzeiten durch einen erfahrenen Systemingenieur bevorzugen, übernehme ich diese Anpassung direkt unter unserem Result-First, Fair-Pay Modell.

Gezielte Fehlerbehebung anfordern →
✓ Zahlung nur bei Erfolg•✓ Kein Ausfallrisiko•✓ Direkte Ausführung durch Ingenieur
Damar Nurvianto - Lead Systems Auditor
💬 Direkter Technischer Desk • WhatsApp
Damar Nurvianto • Lead Systems Auditor

Akutes technisches Problem oder Server-Fehler?

Senden Sie Ihren Terminal-Log, Stack-Trace oder Ihre Server-URL jederzeit — 7 Tage die Woche. Reine asynchrone Text-Diagnose direkt mit Senior Systems Auditor Damar. Keine unerwünschten Telefonanrufe.

Fehler-Log via WhatsApp senden →Drop Log 24/7 • No Calls