Skip to content
Calcrivo

OpenVPN Performance Calculator

Estimate OpenVPN tunnel throughput and MTU from cipher choice, transport protocol and instance count.

Inputs

Mbps
bytes
bytes
instances

Expected Throughput

949.6Mbps

Cipher Ceiling

1,040.0Mbps

Tunnel MTU

1,431bytes

Protocol Overhead

5.04%

Bottleneck

Circuit bandwidth

Step by step

  1. Values used

    Link rate = 1,000 Mbps; Cipher and CPU support = AES-256-GCM with AES-NI (520 Mbps/instance); Transport and overhead = UDP tun mode (69 B); Average packet size = 1,300 bytes; Path MTU = 1,500 bytes; Parallel OpenVPN instances = 2 instances

  2. OpenVPN Performance

    throughput = min(link rate × payload ÷ (payload + overhead), cipher rate × instances), with overhead 69 B for UDP and 89 B for TCP.

  3. Expected Throughput

    = 949.6 Mbps

  4. Cipher Ceiling

    = 1,040.0 Mbps

  5. Tunnel MTU

    = 1,431 bytes

  6. Protocol Overhead

    = 5.04

  7. Bottleneck

    = Circuit bandwidth

How it works

OpenVPN's data channel is single-threaded, so one process is capped by cipher speed no matter how many cores exist; scaling comes from running several instances behind a load balancer. The wire cost is 69 bytes over UDP and 89 over TCP once the extra TCP header and length prefix are counted. It explains the classic complaint that a 1 Gbps circuit only delivers 300 Mbps over OpenVPN, and shows whether the fix is AES-NI, GCM or more daemons.

Formula

OpenVPN Performance

throughput = min(link rate × payload ÷ (payload + overhead), cipher rate × instances), with overhead 69 B for UDP and 89 B for TCP.

cipher rate
Data-channel throughput one OpenVPN process sustains on this CPU
instances
Independent daemons or --multihome workers sharing the load

Frequently Asked Questions

How is OpenVPN Performance calculated?

throughput = min(link rate × payload ÷ (payload + overhead), cipher rate × instances), with overhead 69 B for UDP and 89 B for TCP. OpenVPN's data channel is single-threaded, so one process is capped by cipher speed no matter how many cores exist; scaling comes from running several instances behind a load balancer. The wire cost is 69 bytes over UDP and 89 over TCP once the extra TCP header and length prefix are counted.

Why does OpenVPN Performance matter?

It explains the classic complaint that a 1 Gbps circuit only delivers 300 Mbps over OpenVPN, and shows whether the fix is AES-NI, GCM or more daemons.

What values do I need to enter?

This calculator takes 6 inputs: Link rate, Cipher and CPU support, Transport and overhead, Average packet size, Path MTU, Parallel OpenVPN instances. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

You might also need