-1

Serving vpn clients (tcp connections) with OpenVpn server relies on what ? Or how can we calculate the clients count with hardware specs ?

Does it rely on server bandwidth speed, like if we have a server with 1 GB (1024MB/PS) we can serve 1024 user (every user can get 1MB)? Or something else?

Khlda
  • 1
  • 1

1 Answers1

3

We can't properly answer capacity planning questions since they are highly dependent on your actual use cases and usage patterns.

The vendor documentation more or less says the same:

CPU requirements are very difficult to specify because of the wildly different requirements and use-cases.
...
Memory requirements are highly dependent on the amount of connected devices, and how much NAT traffic you’re doing.

But comes with some extremely rough guidelines for a first approximation :

CPU

As a rule of thumb you should assume that on a modern CPU with AES-NI chipset, for every megabit per second of data traffic (in one direction) you need about 20MHz.

To saturate your gigabit uplink that would be (1 up + 1 down) * 1000 megabit * 20 Mhz = 40'000 Mhz

That is about 20 cores worth of a modern CPU's

Memory

if your users are only accessing resources on your private network 500 megabytes of memory per 100 connected devices. ... If your users route all their Internet traffic through the VPN server, double that to 1000 megabytes per 100 connected devices.

That would mean a terabyte of RAM for 100'000 concurrently connected devices.

(Both in addition to whatever your OS requires.

HBruijn
  • 72,524
  • 21
  • 127
  • 192