{"id":25800,"date":"2025-10-10T10:07:52","date_gmt":"2025-10-10T08:07:52","guid":{"rendered":"https:\/\/contabo.com\/blog\/maximierung-der-wireguard-leistung-fortgeschrittenes-tuning-und-benchmarking\/"},"modified":"2026-05-28T10:30:07","modified_gmt":"2026-05-28T08:30:07","slug":"wireguard-leistung-optimieren","status":"publish","type":"post","link":"https:\/\/contabo.com\/blog\/de\/wireguard-leistung-optimieren\/","title":{"rendered":"WireGuard Leistung optimieren: Fortgeschrittenes Tuning und Benchmarking"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"630\" src=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1.jpg\" alt=\"WireGuard Leistung optimieren: Fortgeschrittenes Tuning und Benchmarking (Titelbild)\" class=\"wp-image-25452\" srcset=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1.jpg 1200w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1-600x315.jpg 600w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1-768x403.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Diese praktische Anleitung zeigt dir, wie du die WireGuard-Performance auf einem VPS oder Dedicated Server messen und optimieren kannst. Du erstellst einen zuverl\u00e4ssigen Vergleich zwischen Baseline- und Tunnel-Performance, behebst die wichtigsten Einflussfaktoren (MTU\/MSS, parallele Streams, GRO\/GSO, CPU-Tuning) und richtest ein sauberes, reproduzierbares Server-Interface ein. Anschlie\u00dfend schauen wir uns fortgeschrittene Themen wie offload-aware Tunneling, Parallelisierung, NUMA-\/CPU-Frequenz-Themen und Netzwerk-Topologien an und schlie\u00dfen mit einer kompakten FAQ ab. Folge den Checklisten und gepr\u00fcften Befehlen, um aus Theorie reproduzierbare Ergebnisse zu machen.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-d618bbfa\"><h2 class=\"uagb-heading-text\">Einf\u00fchrung: WireGuard-Performance optimieren<\/h2><\/div>\n\n\n\n<p>WireGuard kann eine au\u00dfergew\u00f6hnlich hohe Performance liefern, wenn es korrekt konfiguriert wird. Obwohl WireGuard bereits von Haus aus sehr schnell ist, h\u00e4ngen maximale Geschwindigkeiten von einigen entscheidenden Faktoren ab: CPU-Eigenschaften, korrekten MTU-Einstellungen und sauberen Benchmark-Methoden.<\/p>\n\n\n\n<p>Viele WireGuard-Performanceprobleme entstehen durch einfache Fehlkonfigurationen \u2013 zum Beispiel eine falsche MTU (Maximum Transmission Unit), die zu Fragmentierung f\u00fchrt, oder Single-Stream-Tests, die die Vorteile mehrerer CPU-Kerne nicht ausnutzen.<\/p>\n\n\n\n<p>Teste nach jeder \u00c4nderung erneut, damit du Verbesserungen nachvollziehen und bei Bedarf sauber zur\u00fcckrollen kannst.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-d3428647\"><h2 class=\"uagb-heading-text\">Warum WireGuard so schnell ist<\/h2><\/div>\n\n\n\n<p>Die hohe WireGuard-Performance basiert auf drei grundlegenden Designprinzipien: Einfachheit, moderne Kryptografie und die direkte Integration ins Betriebssystem. Genau diese Faktoren sorgen daf\u00fcr, dass WireGuard klassische VPN-Protokolle h\u00e4ufig deutlich \u00fcbertrifft.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1001\" height=\"600\" src=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/wireguard-performance-key-factors_EN.png\" alt=\"WireGuard Performance Key Factors\" class=\"wp-image-25449\" srcset=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/wireguard-performance-key-factors_EN.png 1001w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/wireguard-performance-key-factors_EN-600x360.png 600w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/wireguard-performance-key-factors_EN-768x460.png 768w\" sizes=\"auto, (max-width: 1001px) 100vw, 1001px\" \/><\/figure>\n\n\n\n<p>WireGuard erreicht seine Geschwindigkeit durch mehrere zentrale Eigenschaften:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Schlankes Design:<\/strong> Nur etwa 4.000 Zeilen Code (im Vergleich zu Zehntausenden bei OpenVPN). Das erleichtert Audits, Wartung und Optimierungen.<\/li>\n\n\n\n<li><strong>Moderne Verschl\u00fcsselung:<\/strong> WireGuard verwendet ChaCha20-Poly1305, das effizient auf nahezu allen Prozessoren l\u00e4uft \u2013 im Gegensatz zu AES, das f\u00fcr optimale Geschwindigkeit oft Hardwarebeschleunigung (AES-NI) ben\u00f6tigt.<\/li>\n\n\n\n<li><strong>Kernel-Integration:<\/strong> Pakete werden direkt im Kernel verarbeitet, wodurch aufwendige Context Switches reduziert werden.<\/li>\n\n\n\n<li><strong>UDP-Optimierung:<\/strong> WireGuard nutzt moderne Netzwerkbeschleunigungen und Linux-Offloads effizient aus.<\/li>\n\n\n\n<li><strong>Nahtlose Rekeying-Prozesse:<\/strong> Schl\u00fcssel werden automatisch erneuert, ohne aktive Verbindungen zu unterbrechen.<\/li>\n<\/ul>\n\n\n\n<p>Mit Multi-Queue-Netzwerkkarten k\u00f6nnen unterschiedliche Verbindungen auf mehrere CPU-Kerne verteilt werden. Dadurch skaliert WireGuard deutlich besser als viele \u00e4ltere VPN-L\u00f6sungen und st\u00f6\u00dft seltener an Single-Core-Grenzen.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-991458a8\"><h3 class=\"uagb-heading-text\">Befehle zur \u00dcberpr\u00fcfung der Performance<\/h3><\/div>\n\n\n\n<p>Bevor du mit dem Tuning der WireGuard-Performance beginnst, solltest du pr\u00fcfen, ob dein System einen modernen Kernel, das WireGuard-Kernelmodul und optimierte Netzwerk-Offloads verwendet.<\/p>\n\n\n\n<p>Kernel-Version pr\u00fcfen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>uname -r<\/code><\/pre>\n\n\n\n<p>WireGuard ist ab Linux-Kernel 5.6 direkt integriert. Moderne Kernel (5.15+ oder 6.x) liefern in der Regel eine bessere WireGuard-Performance und effizienteres Netzwerk-Handling.<\/p>\n\n\n\n<p>WireGuard-Modul \u00fcberpr\u00fcfen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo modprobe wireguard\nlsmod | grep wireguard&nbsp;&nbsp;<\/code><\/pre>\n\n\n\n<p>Damit stellst du sicher, dass das WireGuard-Kernelmodul geladen ist und nicht eine langsamere Userspace-Implementierung verwendet wird.<\/p>\n\n\n\n<p>Netzwerk-Offloads pr\u00fcfen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ethtool -k eth0 | grep -E 'gro|gso|tso'&nbsp;<\/code><\/pre>\n\n\n\n<p>GRO, GSO und TSO reduzieren den CPU-Aufwand bei der Paketverarbeitung, indem Daten effizienter geb\u00fcndelt oder segmentiert werden. Aktivierte Offloads k\u00f6nnen die WireGuard-Performance deutlich verbessern und gleichzeitig die CPU-Auslastung senken \u2013 besonders auf leistungsstarken VPS- oder Dedicated-Servern.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-c4e7d010\"><h2 class=\"uagb-heading-text\">WireGuard-Benchmark: Mehr als nur ein einfacher Speedtest<\/h2><\/div>\n\n\n\n<p>Ein sinnvoller WireGuard-Benchmark vergleicht die normale Netzwerkleistung mit der Leistung innerhalb des VPN-Tunnels. Teste die Verbindung zun\u00e4chst ohne WireGuard und f\u00fchre anschlie\u00dfend dieselben Tests durch den WireGuard-Tunnel aus. So siehst du direkt, wie stark Verschl\u00fcsselung und Tunneling die Performance beeinflussen.<\/p>\n\n\n\n<p>Wichtig ist, dass beide Tests unter denselben Bedingungen durchgef\u00fchrt werden: gleicher Client, gleicher Server, gleiche Route, gleiche Testdauer und dieselbe Anzahl paralleler Streams. Nur so sind die Ergebnisse vergleichbar.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-395ba722\"><h3 class=\"uagb-heading-text\">Grundlegende Testmethodik<\/h3><\/div>\n\n\n\n<p><code>iperf3<\/code> ist daf\u00fcr das praktischste Tool. Starte zuerst einen normalen TCP-Test und wiederhole ihn anschlie\u00dfend mit mehreren parallelen Streams, zum Beispiel mit <code>-P 4<\/code> oder <code>-P 8<\/code>. Parallele Streams sind wichtig, weil die WireGuard-Performance h\u00e4ufig davon abh\u00e4ngt, wie gut mehrere CPU-Kerne genutzt werden k\u00f6nnen.<\/p>\n\n\n\n<p>Teste au\u00dferdem beide Richtungen. Mit <code>iperf3 -R<\/code> kannst du den Test umkehren. Das ist wichtig, da sich Upload- und Download-Performance unterscheiden k\u00f6nnen.<\/p>\n\n\n\n<p>F\u00fcr UDP-Tests verwendest du <code>iperf3 -u<\/code> zusammen mit einer definierten Bandbreite \u00fcber <code>-b<\/code>. Achte dabei auf Paketverluste, denn hohe UDP-Durchsatzwerte bringen wenig, wenn Pakete verworfen werden.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-83b93da0\"><h3 class=\"uagb-heading-text\">Ergebnisse richtig interpretieren<\/h3><\/div>\n\n\n\n<p>\u00dcberwache w\u00e4hrend der Tests die CPU-Auslastung und m\u00f6gliche Paketverluste mit Tools wie <code>top<\/code>, <code>mpstat<\/code> oder <code>ip -s link<\/code>.<\/p>\n\n\n\n<p>Ist WireGuard deutlich langsamer als die rohe Netzwerkverbindung, pr\u00fcfe insbesondere: CPU-Auslastung einzelner Kerne, MTU- und MSS-Einstellungen und GRO\/GSO-Offloads<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-0d282fb1\"><h2 class=\"uagb-heading-text\">Variablen f\u00fcr das Tuning von WireGuard Leistung<\/h2><\/div>\n\n\n\n<p>Gute WireGuard Leistung entsteht meist durch die Optimierung einiger wichtiger System- und Netzwerkeinstellungen \u2013 nicht durch einen einzelnen magischen Parameter.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-56c22fc5\"><h3 class=\"uagb-heading-text\">Was du optimieren solltest<\/h3><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Variable<\/strong><\/td><td><strong>Warum sie wichtig ist<\/strong><\/td><td><strong>Schneller Test<\/strong><\/td><td><strong>Empfehlung<\/strong><\/td><\/tr><tr><td>MTU\/MSS<\/td><td>Falsche MTU-Werte k\u00f6nnen Fragmentierung, Retransmits und geringeren Durchsatz verursachen<\/td><td>W\u00e4hrend der Tests auf Retransmits oder instabile Geschwindigkeiten achten<\/td><td>MTU passend zum Netzwerkpfad anpassen; bei Bedarf MSS-Clamping verwenden<\/td><\/tr><tr><td>Parallelisierung<\/td><td>Einzelne Verbindungen nutzen oft nicht alle verf\u00fcgbaren CPU-Kerne<\/td><td><code>iperf3 -P 1<\/code> mit <code>-P 4<\/code> oder <code>-P 8<\/code> vergleichen<\/td><td>F\u00fcr gro\u00dfe Transfers und Benchmarks parallele Streams verwenden<\/td><\/tr><tr><td>GRO\/GSO-Offloads<\/td><td>Reduzieren CPU-Last und Paketverarbeitungsaufwand<\/td><td>Offload-Status mit <code>ethtool<\/code> pr\u00fcfen<\/td><td>GRO\/GSO aktiviert lassen, au\u00dfer beim Troubleshooting<\/td><\/tr><tr><td>CPU-Scaling<\/td><td>WireGuard-Verschl\u00fcsselung ist CPU-intensiv<\/td><td>CPU-Auslastung pro Kern \u00fcberwachen<\/td><td>CPU-Governor w\u00e4hrend Benchmarks auf <code>performance<\/code> setzen<\/td><\/tr><tr><td>Kernel und Treiber<\/td><td>Alte Kernel oder Netzwerktreiber k\u00f6nnen Skalierung und Durchsatz begrenzen<\/td><td>Kernel-Version pr\u00fcfen und Skalierung vergleichen<\/td><td>Moderne Linux-Kernel (5.15+ oder 6.x) und aktuelle Treiber verwenden<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-8867e616\"><h3 class=\"uagb-heading-text\">Wichtige Befehle<\/h3><\/div>\n\n\n\n<p>Diese Befehle helfen bei den h\u00e4ufigsten WireGuard-Performanceproblemen: MTU-Problemen, fehlenden Netzwerk-Offloads und zu kleinen Systempuffern.<\/p>\n\n\n\n<p>Nutze MSS-Clamping, wenn WireGuard Traffic zwischen Subnetzen routet und TCP-Verbindungen langsam, instabil oder von Fragmentierung betroffen sind.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo iptables -t mangle -A FORWARD -o wg0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu&nbsp;<\/code><\/pre>\n\n\n\n<p>Dadurch verwenden TCP-Verbindungen automatisch eine sichere Paketgr\u00f6\u00dfe f\u00fcr den Tunnelpfad.<\/p>\n\n\n\n<p>Systempuffer erh\u00f6hen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &gt;\/etc\/sysctl.d\/99-wireguard.conf &lt;&lt;'EOF'\nnet.core.rmem_max = 134217728\nnet.core.wmem_max = 134217728\nnet.core.netdev_max_backlog = 250000\nEOF<\/code><\/pre>\n\n\n\n<p>Diese Einstellungen helfen Linux dabei, gr\u00f6\u00dfere Netzwerkspitzen auf stark ausgelasteten oder High-Throughput-Systemen besser zu verarbeiten.<\/p>\n\n\n\n<p>\u00c4nderungen \u00fcbernehmen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo sysctl --system<\/code><\/pre>\n\n\n\n<p><strong>Wichtig zu wissen<\/strong>: WireGuard erlaubt keine Auswahl \u201eschnellerer\u201c Verschl\u00fcsselungsalgorithmen \u2013 die Kryptografie ist bewusst fest definiert. <code>PersistentKeepalive<\/code> hilft bei NAT-Verbindungen, verbessert aber nicht die Geschwindigkeit. In den meisten F\u00e4llen bringen korrekte MTU-Werte, aktivierte Offloads und saubere Paralleltests die gr\u00f6\u00dften Performance-Gewinne.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-f26055fc\"><h2 class=\"uagb-heading-text\">Configuring the WireGuard Server Interface&nbsp;<\/h2><\/div>\n\n\n\n<p>Konfiguration des WireGuard-Server-Interfaces<\/p>\n\n\n\n<p>Hinweis: Wenn du die <a href=\"https:\/\/contabo.com\/en\/wireguard-server\/\">Contabo 1-Klick L\u00f6sung f\u00fcr WireGuard<\/a> verwendest, ist dein WGDashboard bereits eingerichtet und vorkonfiguriert. Du kannst diese Schritte daher \u00fcberspringen.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-564886ca\"><h3 class=\"uagb-heading-text\">Voraussetzungen und Schl\u00fcsselerstellung<\/h3><\/div>\n\n\n\n<p>Stelle sicher, dass auf deinem Linux-Server <code>wireguard-tools<\/code> installiert ist (Kernel 5.6+ empfohlen) und UDP-Port <code>51820<\/code> offen ist.<\/p>\n\n\n\n<p>Schl\u00fcssel erzeugen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>umask 077&nbsp;<br><br>wg genkey | tee \/etc\/wireguard\/privatekey | wg pubkey &gt; \/etc\/wireguard\/publickey&nbsp;<\/code><\/pre>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-84552fc1\"><h3 class=\"uagb-heading-text\">Minimale Server-Konfiguration<\/h3><\/div>\n\n\n\n<p>Erstelle<code>\/etc\/wireguard\/wg0.conf<\/code>:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Interface]&nbsp;<br>Address = 10.0.0.1\/24&nbsp;<br>PrivateKey = &lt;SERVER_PRIVATE_KEY&gt;&nbsp;<br>ListenPort = 51820&nbsp;<br><br># MTU = 1440 (leave unset for auto-selection, or set after testing)&nbsp;<br><br>&#91;Peer]&nbsp;<br>PublicKey = &lt;CLIENT_PUBLIC_KEY&gt;&nbsp;<br>AllowedIPs = 10.0.0.2\/32&nbsp;<br>PersistentKeepalive = 25 # usually set on the NATed client, not needed on server&nbsp;<\/code><\/pre>\n\n\n\n<p>Ersetze die Schl\u00fcssel und verwende ein privates <code>\/24<\/code>-Netzwerk.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-ada4dcf8\"><h3 class=\"uagb-heading-text\">Firewall- und Netzwerkkonfiguration<\/h3><\/div>\n\n\n\n<p>Eine korrekte Firewall-Konfiguration ist entscheidend f\u00fcr Performance und Konnektivit\u00e4t.<\/p>\n\n\n\n<p>Basisregeln:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># WireGuard-UDP-Port erlauben\u00a0\n\nsudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT\u00a0\n\n# IP-Forwarding und NAT aktivieren\u00a0\n\necho 'net.ipv4.ip_forward=1' | sudo tee \/etc\/sysctl.d\/99-sysctl.conf sudo sysctl --system sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\u00a0<\/code><\/pre>\n\n\n\n<p>Ersetze <code>eth0<\/code> durch dein \u00f6ffentliches Netzwerk-Interface.<\/p>\n\n\n\n<p>WireGuard funktioniert standardm\u00e4\u00dfig problemlos hinter NAT. Befindet sich ein Client hinter NAT und soll dauerhaft erreichbar bleiben, setze <code>PersistentKeepalive = 25<\/code> auf der Client-Seite.<\/p>\n\n\n\n<p><strong>Troubleshooting<\/strong>:\u00a0Wenn sich Clients verbinden k\u00f6nnen, aber keinen Internetzugriff haben:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pr\u00fcfe <code>net.ipv4.ip_forward<\/code><\/li>\n\n\n\n<li>kontrolliere die NAT-Regeln mit <code>iptables -t nat -L -v<\/code><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-ee29bc68\"><h3 class=\"uagb-heading-text\">Aktivieren und \u00fcberpr\u00fcfen<\/h3><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now wg-quick@wg0&nbsp;<br><br>sudo wg show&nbsp;<\/code><\/pre>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-2e4ab8c5\"><h3 class=\"uagb-heading-text\">MTU-Optimierung<\/h3><\/div>\n\n\n\n<p>Starte m\u00f6glichst einfach: Lass MTU zun\u00e4chst leer, damit <code>wg-quick<\/code> automatisch einen passenden Wert ausw\u00e4hlt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ip link show wg0<\/code><\/pre>\n\n\n\n<p>Wenn du MTU manuell setzen m\u00f6chtest:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Ermittle zun\u00e4chst die PMTU mit: ping -M do -s &lt;gr\u00f6\u00dfe> &lt;server_ip><\/li>\n\n\n\n<li>Starte beispielsweise mit <code>1472<\/code><\/li>\n\n\n\n<li>Ziehe den WireGuard-Overhead ab (~60 Byte bei IPv4, ~80 Byte bei IPv6)<\/li>\n\n\n\n<li>Setze den Wert als MTU in jedem <code>[Interface]<\/code><\/li>\n\n\n\n<li>F\u00fchre anschlie\u00dfend erneut parallele <code>iperf3<\/code>-Tests durch<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-2e51f165\"><h3 class=\"uagb-heading-text\">Abschlie\u00dfende Pr\u00fcfungen<\/h3><\/div>\n\n\n\n<p>Pr\u00fcfe, ob Handshakes korrekt stattfinden und ob das Routing funktioniert.<\/p>\n\n\n\n<p>F\u00fchre nach \u00c4nderungen an MTU oder Firewall-Regeln immer neue Benchmarks durch, um die Auswirkungen auf die Performance zu messen.<\/p>\n\n\n\n<p>Weitere Informationen findest du in der offiziellen <a href=\"https:\/\/www.wireguard.com\/quickstart\" rel=\"nofollow\">WireGuard Quick Start Dokumentation<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-45853abb\"><h2 class=\"uagb-heading-text\">Erweiterte Performance-Konzepte<\/h2><\/div>\n\n\n\n<p>Sobald das grundlegende Tuning abgeschlossen ist, kommen zus\u00e4tzliche Performance-Gewinne meist durch bessere CPU-Auslastung, moderne Kernel und optimierte Netzwerktreiber zustande.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-1b00ffd3\"><h3 class=\"uagb-heading-text\">Netzwerk-Offloads aktiviert lassen<\/h3><\/div>\n\n\n\n<p>WireGuard profitiert stark von Linux-Netzwerk-Offloads wie GRO und GSO, da sie den CPU-Aufwand bei der Paketverarbeitung reduzieren.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ethtool -k eth0 | grep -E 'gro|gso'<\/code><\/pre>\n\n\n\n<p>In den meisten F\u00e4llen sollten diese Funktionen aktiviert bleiben, au\u00dfer du f\u00fchrst gezieltes Troubleshooting durch.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-b5892587\"><h3 class=\"uagb-heading-text\">Parallelen Traffic nutzen<\/h3><\/div>\n\n\n\n<p>Einzelne Verbindungen k\u00f6nnen moderne CPUs oder schnelle Netzwerkverbindungen oft nicht vollst\u00e4ndig auslasten. Mehrere parallele Streams spiegeln reale Transfer-Workloads besser wider.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>iperf3 -P 4<\/code><\/pre>\n\n\n\n<p>Verbessert sich die Performance dadurch nicht, pr\u00fcfe m\u00f6gliche CPU- oder Queue-Engp\u00e4sse.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-13fd704d\"><h3 class=\"uagb-heading-text\">Stabile CPU-Performance sicherstellen<\/h3><\/div>\n\n\n\n<p>Die WireGuard-Verschl\u00fcsselung ist CPU-intensiv. Dynamische CPU-Taktung kann daher Benchmark-Ergebnisse beeinflussen.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo performance | sudo tee \/sys\/devices\/system\/cpu\/cpu*\/cpufreq\/scaling_governor\u00a0<\/code><\/pre>\n\n\n\n<p>Der <code>performance<\/code>-Governor sorgt w\u00e4hrend Benchmarks f\u00fcr stabile CPU-Taktraten.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-7a8eb45b\"><h3 class=\"uagb-heading-text\">Moderne Kernel und Treiber verwenden<\/h3><\/div>\n\n\n\n<p>Neuere Linux-Kernel und aktuelle Netzwerktreiber verbessern h\u00e4ufig den WireGuard-Durchsatz und die Paketverarbeitung. Moderne virtio-, ENA- und Multi-Queue-Treiber liefern meist die besten Ergebnisse auf VPS und Dedicated Servern.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-47d0520f\"><h3 class=\"uagb-heading-text\">TCP-Performance innerhalb des Tunnels verbessern<\/h3><\/div>\n\n\n\n<p>Der Gro\u00dfteil des WireGuard-Traffics besteht aus TCP-Verbindungen innerhalb des verschl\u00fcsselten UDP-Tunnels. Hohe Latenzen oder Paketverluste k\u00f6nnen die TCP-Performance deutlich verschlechtern.<\/p>\n\n\n\n<p>In einigen Umgebungen kann BBR die Performance auf langen oder instabilen Verbindungen verbessern.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo 'net.ipv4.tcp_congestion_control=bbr' &gt;&gt; \/etc\/sysctl.conf<\/code><\/pre>\n\n\n\n<p>\u00dcbernimm die \u00c4nderungen mit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo sysctl --system<\/code><\/pre>\n\n\n\n<p>Teste die Performance immer vor und nach der Aktivierung von BBR, da die Ergebnisse je nach Netzwerk stark variieren k\u00f6nnen.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-1a4eb59e\"><h2 class=\"uagb-heading-text\">WireGuard Performance FAQ<\/h2><\/div>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1779955656000\"><strong class=\"schema-faq-question\">Wie funktioniert WireGuard?<\/strong> <p class=\"schema-faq-answer\">WireGuard erstellt verschl\u00fcsselte Peer-to-Peer-VPN-Verbindungen mithilfe von Public- und Private-Key-Authentifizierung. Unter Linux l\u00e4uft WireGuard direkt im Kernel, wodurch weniger Overhead entsteht und h\u00e4ufig eine bessere Performance als bei \u00e4lteren VPN-Protokollen erreicht wird.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779955664464\"><strong class=\"schema-faq-question\"><strong>Verwendet WireGuard TCP oder UDP?<\/strong><\/strong> <p class=\"schema-faq-answer\">WireGuard nutzt ausschlie\u00dflich UDP. Dadurch bleiben Latenz und Protokoll-Overhead gering, w\u00e4hrend Linux Netzwerkoptimierungen wie GRO und GSO nutzen kann. Falls ein Netzwerk UDP blockiert, kann WireGuard \u00fcber TCP- oder HTTPS-Tunnel betrieben werden \u2013 allerdings meist mit schlechterer Performance.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779955673031\"><strong class=\"schema-faq-question\"><strong>Wie pr\u00fcfe ich, ob WireGuard funktioniert?<\/strong><\/strong> <p class=\"schema-faq-answer\">F\u00fchre <code>wg<\/code> aus. Ein aktueller \u201elatest handshake\u201c sowie steigende Transferz\u00e4hler zeigen, dass der Tunnel aktiv ist. Zus\u00e4tzlich kannst du die Verbindung testen, indem du die WireGuard-IP des Peers anpingst. F\u00fcr Performance-Tests f\u00fchre <code>iperf3<\/code> durch den Tunnel aus und vergleiche die Ergebnisse mit einem Test au\u00dferhalb des VPNs.<br>Falls Probleme auftreten, pr\u00fcfe die Firewall-Regeln f\u00fcr UDP-Port <code>51820<\/code>, die <code>AllowedIPs<\/code> auf beiden Peers sowie die MTU- oder MSS-Konfiguration.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779955727931\"><strong class=\"schema-faq-question\">Welche MTU sollte ich f\u00fcr WireGuard verwenden?<\/strong> <p class=\"schema-faq-answer\">In den meisten F\u00e4llen solltest du MTU nicht manuell setzen und <code>wg-quick<\/code> automatisch w\u00e4hlen lassen.<br>Falls du manuell optimieren m\u00f6chtest, starte mit Werten zwischen <code>1420<\/code> und <code>1440<\/code> und passe sie anhand deines Netzwerkpfads und m\u00f6glicher Fragmentierung an.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779955737739\"><strong class=\"schema-faq-question\">Warum ist meine WireGuard-Geschwindigkeit langsamer als die normale Netzwerkverbindung?<\/strong> <p class=\"schema-faq-answer\">Die h\u00e4ufigsten Ursachen sind falsche MTU- oder MSS-Einstellungen, deaktivierte GRO\/GSO-Offloads oder CPU-Engp\u00e4sse bei einzelnen Streams. Vergleiche die Performance innerhalb und au\u00dferhalb des Tunnels mit <code>iperf3<\/code>-Tests und mehreren parallelen Streams, um den Flaschenhals zu identifizieren.<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dieser praktische Leitfaden zeigt dir, wie du die WireGuard-Leistung auf einem Contabo VPS oder dedizierten Server messen und maximieren kannst. Erstelle einen zuverl\u00e4ssigen Baseline-vs-Tunnel-Benchmark, tune MTU\/MSS, \u00fcberpr\u00fcfe Offloads und verwende parallele Streams. \u00dcbersichtliche Checklisten und minimale Befehle machen die Feinabstimmung zu einem wiederholbaren Vorgang, der nahezu den Baseline-Wert erreicht.<\/p>\n","protected":false},"author":65,"featured_media":25453,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1399],"tags":[],"ppma_author":[1489],"class_list":["post-25800","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"uagb_featured_image_src":{"full":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1.jpg",1200,630,false],"thumbnail":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1-150x150.jpg",150,150,true],"medium":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1-600x315.jpg",600,315,true],"medium_large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1-768x403.jpg",768,403,true],"large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1.jpg",1200,630,false],"1536x1536":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1.jpg",1200,630,false],"2048x2048":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2025\/10\/blog-head_maximizing-wireguard-performance-1.jpg",1200,630,false]},"uagb_author_info":{"display_name":"Julia Mink","author_link":"https:\/\/contabo.com\/blog\/de\/author\/julia-mink\/"},"uagb_comment_info":0,"uagb_excerpt":"Dieser praktische Leitfaden zeigt dir, wie du die WireGuard-Leistung auf einem Contabo VPS oder dedizierten Server messen und maximieren kannst. Erstelle einen zuverl\u00e4ssigen Baseline-vs-Tunnel-Benchmark, tune MTU\/MSS, \u00fcberpr\u00fcfe Offloads und verwende parallele Streams. \u00dcbersichtliche Checklisten und minimale Befehle machen die Feinabstimmung zu einem wiederholbaren Vorgang, der nahezu den Baseline-Wert erreicht.","authors":[{"term_id":1489,"user_id":65,"is_guest":0,"slug":"julia-mink","display_name":"Julia Mink","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/26ce5d4ae17d160425d842da4ea00c56716ffb5d4c58ee0cfb73de57b1de5272?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Mink","first_name":"Julia","job_title":"","description":""}],"_links":{"self":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/25800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/comments?post=25800"}],"version-history":[{"count":5,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/25800\/revisions"}],"predecessor-version":[{"id":30815,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/25800\/revisions\/30815"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/media\/25453"}],"wp:attachment":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/media?parent=25800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/categories?post=25800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/tags?post=25800"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/ppma_author?post=25800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}