NoMachine Support

Your questions answered

Knowledge Base

Searching in: Articles & FAQs
Filter the search results
Applies to:
Last update:
Searching in: Articles & FAQs
ID: AR06R01093
Applies to: NoMachine Server
Added on: 2020-06-30
Last update: 2020-07-24
Benchmarks for Cloud Server hosts (Windows, macOS and Linux)

This article applies to large environments deploying a Cloud Server (CS) solution to access Enterprise Desktops (ED) on the users' stations.

The main parameters to be taken in account for sizing the Cloud Server host are:

(i) the number of concurrent accesses: how many users are expected to connect at the same moment (average access peak)

(ii) the number of Enterprise Desktops federated under the Cloud Server.

(iii) the forward method used for dispatching client connections to the Enterprise Desktops: direct ('token' or 'system') or 'tunnel'.


In detail:

(i) Number of concurrent accesses
Each user login instantiates a NoMachine login process on the CS host. An elevated number of simultaneous access determines a peak of CPU usage.

(ii) Number of Enterprise Desktops
CS instantiates a connection monitor process for each Enterprise Desktop.

(iii) Forward method
In case of direct forward methods, by default 'token' for client connections by NX protocol and 'system' for SSH connections, CS gives up as soon as the connection is displatched.

Local CPU/RAM usage is limited to the login/dispatch phase. Some CPU peaks occur during the initial login-connection phase and until the connection is forwarded.
Login: Client-CS-ED
Session established: Client-ED

The number of cores of the Cloud Server host impacts the number of simultaneous accesses.

When the tunnel forward method is used, the use of localhost resources is not limited to the login phase. The Cloud Server relays each connection to the child servers, a 'connection monitor' process is run for each session forwarding. Such process uses 0-6% of CPU thread / vCPU, depending on which kind of application is run inside the session.

The 'tunnel' method, necessary when the child servers are behind a NAT or firewall, is more resource intensive.

As general guidelines, we share below results of stress tests made in our labs.

Some remarks

1) a 1GbE NIC network card is strongly advisable.

2) for large deployments is preferable to adopt Cloud Server on Linux, which requires less HW resources if compared to Cloud Server on Windows or macOS.

3) being CPU speed relevant for test results, values provided below have to be considered only indicative.

4) sizing guidelines below are about connections by NoMachine client.
 

Our test machines are VMWare virtual machines running on a physical host with: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz.

Cloud Server on Linux
4 physical cores  (8 virtual CPUs)
100-150 Enterprise Desktops
100-150 simultaneous tunneled sessions

10 or 12 physical cores - 32GB RAM 
250 Enterprise Desktops
250 simultaneous tunneled sessions

Enterprise Desktops Simultaneous sessions Min. physical cores CPUs Min. RAM
100-150 100-150 4 8 CPU threads or 8 vCPU on virtualized systems 16GB
250 250 10 or 12 20-24 CPU threads or 20-24 vCPU on virtualized systems 32GB

 

Cloud Server on Windows
4 CPU cores (virtual CPUs)
100 Enterprise Desktops
100 simultaneous tunneled sessions

16 virtual CPUs
250 Enterprise Desktops
250 simultaneous tunneled sessions
 

Enterprise Desktops Simultaneous sessions Min. physical cores vCPUs Min. RAM
100 100 4 or more 8 CPU threads or 8 vCPU on virtualized systems 16GB
250 250 16 32 CPU threads or 32 vCPU on virtualized systems 32GB