NoMachine Support

Your questions answered

Knowledge Base

Searching in: Articles & FAQs
Filter the search results
Applies to:
Last update:
Searching in: Articles & FAQs
ID: AR02P00966
Applies to: NX Software
Added on: 2018-02-07
Last update: 2019-04-05
Guidelines for sizing a NoMachine infrastructure and benchmark tests for v. 6

Sizing the hardware of your NoMachine server host(s) based on benchmarks depends on many variables due to the great variety of systems, hardware, applications and so on. 

Even if we can provide some general guidelines based on our own experience and share rough data gathered in our labs (see our benchmark tests below), it's fundamental you try the NoMachine server of your choice in your environment. For this purpose, we make available a 30 days evaluation version which is fully featured. This evaluation license can be extended by contacting us and making a request.

The first step for sizing your environment is to choose the right NoMachine server type. You can visit our web site at https://www.nomachine.com/nomachine-enterprise-features or contact us, we can help to identify which is the most suitable solution for your needs.

NoMachine software can be installed on a physical machine or on a virtual machine (e.g. VMware).

In the case of multi-host environments, these sizing guidelines apply to the remote machines where sessions are effectively run. The server host that acts as gateway will mainly accept and dispatch connections which are not resource-intensive operations.

Sizing the hardware

Please consider that these are only general guidelines, helpful to approximate minimum hardware requirements. Tests have to be conducted in the real environment and context of use to obtain a more accurate estimation of resources needed.

Connecting by NoMachine client with NX or SSH protocol or via web sessions doesn't reveal relevant differences in terms of CPU/RAM resources needed on the remote host.

In the case of Linux terminal server products for virtual desktops, HW requirements will mainly depend on what desktop environment you are running and what applications are running on that desktop.

For example, a lightweight desktop environment will require less resources than a 3D desktop environment.

Flash video uses more memory and CPU than a text editor; a text editor will be less demanding than a IDE or a computer graphics application like CAD/CAM software. This will need to be considered during your evaluation since resource-demanding applications can reduce the total number of functional NoMachine sessions that you can effectively get on your server.

If users need only a specific application, they can run it in a custom session which is less demanding than a full virtual desktop, but also in this case different applications may require different resources. 

Please look also at the benchmark tests section of this article: it provides results of tests made in our labs. They show how much RAM is used for running different kinds of sessions and how many sessions can be run at the same time without penalising performance.
 

GPU vs. CPU

In NoMachine virtual desktops (Linux), OpenGL rendering is done by software components. This means that rendering tasks are accomplished by CPU and not offloaded onto the GPU. It's possible however to redirect the 3D rendering commands to the GPU by enabling support for the VirtualGL library in NoMachine.

NoMachine supports H.264 GPU encoding (hardware acceleration) provided by graphics cards with Nvidia Kepler microarchitecture onward and Intel Quick Sync video cards on Windows and Linux.

It supports H.264 GPU decoding on Windows and Mac hosts with hardware accelerated video cards (GPUs).

In all the other cases, H.264 software encoding/decoding is supported.
 

We made some tests in our labs with the following hardware:

GPU: Tesla M60
CPU: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz (24 cores)
RAM: 125 GB

By running 10 virtual desktops at screen resolution of 1360x768 with fullscreen YouTube video, we got the following data:

GPU overall encoder usage:       ~5%
GPU overall memory usage:        1338MiB / 7679MiB
GPU memory usage per nxnode.bin: 129 MiB
CPU usage per nxnode.bin:        ~4.25%

This results can scale up.

We were able to run 59 sessions before the memory capacity was exhausted, with NVENC and Tesla M60. The GPU encoder usage was around 30%.

 

Calculating the bandwidth

A practical test will permit to calculate the necessary bandwidth in your environment and for the applications/desktops you intend to run. NoMachine provides a built-in tool to retrieve the real bandwidth usage. Please see here for more detailed instructions:
https://www.nomachine.com/AR10K00721

We also suggest to read the following article about bandwidth usage and optimizations:
https://www.nomachine.com/AR04M00845
 

Some benchmark tests
Test case 1: NoMachine Enterprise Desktop
Test case 2: NoMachine Terminal Server (2.40 GHz, 6 Cores, 20 GB RAM)
Test case 3: NoMachine Terminal Server (2.10 GHz, 16 cores, 62 GB RAM)
Test case 4: Some examples for number of concurrent sessions actively used without performance penalties

 

 

 

 

 

 

Test case 1: NoMachine Enterprise Desktop

NoMachine Enterprise Desktop (ED) v. 6.0.66 on a Linux host running CentOS Linux release 6.7, Kernel 2.6.32-573.el6.x86_64

Hardware specifications:
Intel(R) Xeon(R) CPU E7450 @ 2.40GHz, 6 Cores, 10 GB RAM

1.1) 1 user connected to the physical desktop

RAM usage for nx* processes: 323 MB
CPU usage for nx* processes: 7.09%
 

1.2) 10 users connected to the same physical desktop

RAM usage for nx* processes: 1.3 GB
CPU usage for nx* processes:  17.04%

 

1.3)  20 users connected to the same physical desktop

RAM usage for nx* processes: 2.5 GB
CPU usage for nx* processes:  22.39%

 


Test case 2: NoMachine Terminal Server (2.40 GHz, 6 Cores, 20 GB RAM)
 

NoMachine Terminal Server (TS) v. 6.0.66 on a Linux host running CentOS Linux release 6.7, kernel 2.6.32-573.el6.x86_64

Hardware specifications:
Intel(R) Xeon(R) CPU E7450 @ 2.40GHz, 6 Cores, 20 GB RAM

Benchmark results apply also to a multi-node environment made of Enteprise Terminal Server + Terminal Server Nodes. In particular, if virtual desktops are run on the remote nodes, such results will apply to the Terminal Server Node hosts.

In the case of virtual desktops and custom sessions, let's distinguish between: running sessions in X11 vector graphics mode(2.1) or not (2.2). This may slightly change resources requirements. Disabling X11 vector graphics mode can be more comfortable if it's known beforehand that sessions will be used mainly for media streaming. More about the X11 vector graphics mode: https://www.nomachine.com/AR02L00779

 

2.1) X11 vector graphics mode enabled, default

RAM usage for each virtual desktop, running:

GNOME 2.28: 325 MB
KDE 4.3.4: 326 MB
Xfce 4.8.3: 278 MB

GNOME 2.28 + Firefox 52.6.0: 608 MB
KDE 4.3.4 + Firefox 52.6.0: 610 MB
Xfce 4.8.3 + Firefox 52.6.0: 530 MB

GNOME 2.28 + FreeCAD 0.13: 500 MB
KDE 4.3.4 + FreeCAD 0.13: 518 MB
Xfce 4.8.3 + FreeCAD 0.13: 458 MB

GNOME 2.28 + LibreOffice Writer 4.2.8.2: 470 MB
KDE 4.3.4 + LibreOffice Writer 4.2.8.2: 439 MB
Xfce 4.8.3 + LibreOffice Writer 4.2.8.2: 393 MB

 

RAM usage for a custom session in floating window mode running the following program as single application:

Firefox 52.6.0: 494 MB
LibreOffice Writer 4.2.8.2 : 295 MB
FreeCAD 0.13: 372 MB

 

Number of concurrent sessions actively used without performance penalties:

i) 13 users can surf the internet with Firefox with 8 GB of memory usage and 87% overall CPU usage.
ii) 5 users working on a 3D cad app (FreeCad) with 5 GB of total memory usage and 82% overall CPU usage.
iii) 32 users using a text editor (LibreOffice) with 12 GB of total memory usage and 86% overal CPU usage

 

2.2) X11 vector graphics mode disabled (advisable for multimedia playing)

RAM usage for each virtual desktop, running:

GNOME 2.28: 422 MB
KDE 4.3.4: 428 MB
Xfce 4.8.3: 396 MB

GNOME 2.28 + Firefox 52.6.0: 674 MB
KDE 4.3.4 + Firefox 52.6.0: 690 MB
Xfce 4.8.3 + Firefox 52.6.0: 651 MB

GNOME 2.28 + CAD (FreeCAD 0.13): 602 MB
KDE 4.3.4 + CAD (FreeCAD 0.13): 594 MB
Xfce 4.8.3 + CAD (FreeCAD 0.13): 553 MB

GNOME 2.28 + LibreOffice Writer 4.2.8.2: 544 MB
KDE 4.3.4 + LibreOffice Writer 4.2.8.2: 526 MB
Xfce 4.8.3 + LibreOffice Writer 4.2.8.2: 488 MB
 

RAM usage for a custom session in floating window mode running the following program as single application:

Firefox 52.6.0: 497 MB
LibreOffice Writer 4.2.8.2: 289 MB
FreeCAD 0.13: 351 MB

 

Number of concurrent sessions actively used without performance penalties:

i) 5 users can surf the internet with Firefox with 3 GB of memory usage and 78% overall CPU usage.
ii) 4 users working on a 3D cad app (FreeCad) with 2 GB of total memory usage and 77% overall CPU usage.
iii) 9 users using a text editor (LibreOffice) with 5 GB of total memory usage and 80% overal CPU usage

 


Test case 3: NoMachine Terminal Server (2.10 GHz, 16 cores, 62 GB RAM)

NoMachine Terminal Server (TS) v. 6.0.66 on a Linux host running CentOS Linux release 7, kernel 3.10.0-693.17.1.el7.x86_64

Hardware specifications:
Intel® Xeon(R) CPU E5-2620 v4 @ 2.10GHz, 16 cores, 62 GB RAM
 

3.1) X11 vector graphics mode enabled, default

RAM usage for each virtual desktop, running:

GNOME 3.22.2: 596 MB
KDE 4.14.8: 590 MB
Xfce 4.12: 353 MB

GNOME 3.22.2 + Firefox 52.6.0: 958 MB
KDE 4.14.8 + Firefox 52.6.0: 903 MB
Xfce 4.12 + Firefox 52.6.0: 661 MB

GNOME 3.22.2 + FreeCAD 0.16: 893 MB
KDE 4.14.8 + FreeCAD 0.16: 776 MB
Xfce 4.12 + FreeCAD 0.16: 544 MB

GNOME 3.22.2 + LibreOffice Writer 5.0.6.2: 878 MB
KDE 4.14.8 + LibreOffice Writer 5.0.6.2: 705 MB
Xfce 4.12 + LibreOffice Writer 5.0.6.2: 460 MB

RAM usage for a custom session in floating window mode running the following program as single application:

Firefox 52.6.0: 495 MB
LibreOffice Writer 5.0.6.2: 289 MB
FreeCAD 0.16: 355 MB

 

3.2) X11 vector graphics mode disabled (advisable for multimedia playing), default

RAM usage for each virtual desktop, running:

GNOME 3.22.2: 693 MB
KDE 4.14.8: 706 MB
Xfce 4.12: 464 MB

GNOME 3.22.2 + Firefox 52.6.0: 1.028 MB
KDE 4.14.8 + Firefox 52.6.0: 1.025 MB
Xfce 4.12 + Firefox 52.6.0: 743 MB

GNOME 3.22.2 + FreeCAD 0.16: 948 MB
KDE 4.14.8 + FreeCAD 0.16: 872 MB
Xfce 4.12 + FreeCAD 0.16: 621 MB

GNOME 3.22.2 + LibreOffice Writer 5.0.6.2: 962 MB
KDE 4.14.8 + LibreOffice Writer 5.0.6.2: 811 MB
Xfce 4.12 + LibreOffice Writer 5.0.6.2: 562 MB

 

RAM usage for a custom session in floating window mode running the following program as single application:

Firefox 52.6.0: 489 MB
LibreOffice Writer 5.0.6.2: 282 MB
FreeCAD 0.16: 364 MB


 

Test case 4: Some examples for number of concurrent sessions actively used without performance penalties

Hardware specifications:
Intel® Xeon® CPU @ 2.10GHz, (3C/6T), 20GB RAM

OS:
CentOS 6.7

4.1) X11 vector graphics mode enabled, default

Application type Max n. of concurrent sessions RAM usage CPU usage
GNOME virtual desktop 45 15GB 88%
KDE virtual desktop 38 12GB 88%
XFCE virtual desktop 43 12GB 86%
Firefox in a custom session, playing a video on YouTube 18 9GB 88%
Office in a custom session 34 10GB 87%
FreeCad in a custom session + animation 10 4GB 87%

 

4.2) X11 vector graphics disabled

Application type Max n. of concurrent sessions RAM usage CPU usage
GNOME virtual desktop 41 17GB 87%
KDE virtual desktop 31 13GB 87%
XFCE virtual desktop 33 13GB 87%
Firefox in a custom session playing a video on YouTube 15 7GB 86%
Office in a custom session 35 10GB 86%
FreeCad in a custom session playing an animation 6 2GB 82%

 

Hardware specifications:
Intel® Xeon® CPU @ 2.10GHz, (8C/16T), 62GB ram

OS:
CentOS 7

4.3) X11 vector graphics mode enabled, default

Application type Max n. of concurrent sessions RAM usage CPU usage
GNOME virtual desktop 97 58GB 65%
KDE virtual desktop 98 58GB 66%
XFCE virtual desktop 128 46GB 87%
virtual desktop + Firefox playing a video on YouTube 41 33GB 87%
virtual desktop +  Office 71 43GB 78%
virtual desktop + FreeCad playing an animation 71 13GB 85%
Firefox in a custom session running a video on YouTube 59 29GB 87%
Office running in a custom session 132 38GB 88%
FreeCad in a custom session playing an animation 26 9GB 87%

 

4.4) X11 vector graphics mode disabled

Application type Max n. of concurrent sessions RAM usage CPU usage
GNOME virtual desktop 84 58GB 60%
KDE virtual desktop 82 58GB 55%
XFCE virtual desktop 125 58GB 80%
virtual desktop +Firefox playing a video on YouTube  28 25GB 87%
virtual desktop + Office  42 31GB 86%
virtual desktop + FreeCad playing an animation 14 10GB 84%
Firefox in a custom session playing a video on YouTube 67 33GB 88%
Office running in a custom session 123 35GB 88%
FreeCad in a custom session playing an animation 27 10GB 88%