Tutorial: Troubleshoot and Optimize VPN Performance in Access Server⁠

Overview⁠

This tutorial shows you how to identify and troubleshoot VPN performance issues with Access Server.

A slow VPN connection can result from several different factors, including:

  • Limited internet or cloud-instance bandwidth.

  • High CPU utilization.

  • Insufficient encryption performance.

  • Packet loss or high latency.

  • TCP transport behavior.

  • MTU fragmentation.

  • Incorrect routing or tunnel configuration.

  • Unnecessary network hops.

The tests in this tutorial help you distinguish between latency, which measures delay, and throughput, which measures how much data can pass through the connection over time.

You’ll compare performance outside and inside the VPN tunnel, verify hardware and Data Channel Offload acceleration, inspect the network path, and use iperf3 to measure VPN throughput.

Prerequisites⁠

Before you begin, ensure you have:

  • Console access to the Access Server host.

  • Root privileges for commands that inspect or change Access Server settings.

  • A VPN client from which you can reproduce the performance issue.

  • Access to a private resource behind Access Server when testing end-to-end throughput.

  • curl, ping, and other standard networking utilities.

  • Optional: iperf3, MTR, and OpenSSL for the related tests.

Establish a performance baseline⁠

Before changing Access Server settings, measure your connection speed in two states:

  • Raw link speed: Your connection speed outside the VPN tunnel. This is the ceiling your VPN connection can never exceed. Test this first using a tool like iperf3 between client and server, or a speed test service.

  • VPN throughput: Your connection speed while connected to the VPN. Run the same test again with the VPN active.

Compare the two results. The difference represents your VPN overhead: the cost of encryption, routing, and protocol processing.

Interpret the results⁠

Use the following comparisons to narrow down the issue:

Result

Likely area to investigate

Raw-link throughput is slow

Client ISP, server provider, cloud-instance limits, or the general network path

Raw link is fast but VPN throughput is slow

CPU, cipher, DCO, VPN protocol, MTU, or Access Server configuration

UDP is fast but TCP VPN is slow

TCP-over-TCP behavior, packet loss, or congestion

Access Server VPN IP is fast but a private resource is slow

Network path, routing, firewall, or resource-side limits behind Access Server

OpenSSL throughput is low

CPU capacity or missing hardware acceleration

CPU is saturated during testing

Instance sizing, daemon count, cipher, or DCO

Packet loss continues to the destination

Network or provider problem along the path

Latency is consistently high

Geographic distance, routing, congestion, or unnecessary hops

Small packets work but large packets fail

MTU mismatch or MTU fragmentation

Full tunnel is slow for public internet traffic

Added server load, egress path, or geographic detour

Next steps⁠

After resolving the bottleneck, repeat the same baseline and VPN throughput tests to confirm the improvement.