{
  "title": "WireGuard vs OpenVPN benchmark, 26 October 2026",
  "method": {
    "host": "one OVH VPS: Ubuntu 24.04.4, Linux 6.8.0-139-generic, Intel Core (Haswell, no TSX) virtual CPU with AES-NI and AVX2, 2 vCPUs, 3 GB RAM",
    "topology": "both ends on the same host in network namespaces over a veth pair (the WireGuard project's own test harness works the same way)",
    "software": "WireGuard in-kernel module; OpenVPN 2.6.19 (OpenSSL, no Data Channel Offload: the kernel module is not shipped with this kernel); iperf3 3.16",
    "runs": "iperf3 for 15 seconds, 1 and 2 parallel streams; ping 30 packets at 0.2 s; cpu_pct is the whole machine's busy time from /proc/stat during the run; script run with nice 10 on an otherwise idle machine",
    "script": "https://www.ghostshield.ai/research/vpn-protocol-benchmark.sh"
  },
  "results": [
    {
      "test": "baseline",
      "streams": 1,
      "mbps": 19763.6,
      "ping_ms": 0.071,
      "cpu_pct": 91.3,
      "seconds": 15
    },
    {
      "test": "baseline",
      "streams": 2,
      "mbps": 25799.1,
      "ping_ms": 0.075,
      "cpu_pct": 99.9,
      "seconds": 15
    },
    {
      "test": "wireguard",
      "streams": 1,
      "mbps": 1280.0,
      "ping_ms": 0.328,
      "cpu_pct": 97.9,
      "seconds": 15
    },
    {
      "test": "wireguard",
      "streams": 2,
      "mbps": 1282.7,
      "ping_ms": 0.445,
      "cpu_pct": 98.7,
      "seconds": 15
    },
    {
      "test": "openvpn-aes256gcm-udp",
      "streams": 1,
      "mbps": 374.2,
      "ping_ms": 0.399,
      "cpu_pct": 85.7,
      "seconds": 15
    },
    {
      "test": "openvpn-aes256gcm-udp",
      "streams": 2,
      "mbps": 309.4,
      "ping_ms": 0.321,
      "cpu_pct": 87.0,
      "seconds": 15
    },
    {
      "test": "openvpn-chacha20-udp",
      "streams": 1,
      "mbps": 382.1,
      "ping_ms": 0.374,
      "cpu_pct": 84.9,
      "seconds": 15
    },
    {
      "test": "openvpn-chacha20-udp",
      "streams": 2,
      "mbps": 316.5,
      "ping_ms": 0.433,
      "cpu_pct": 86.4,
      "seconds": 15
    },
    {
      "test": "openvpn-aes256gcm-tcp",
      "streams": 1,
      "mbps": 260.1,
      "ping_ms": 0.421,
      "cpu_pct": 87.3,
      "seconds": 15
    },
    {
      "test": "openvpn-aes256gcm-tcp",
      "streams": 2,
      "mbps": 262.7,
      "ping_ms": 0.396,
      "cpu_pct": 87.2,
      "seconds": 15
    }
  ]
}