Guidelines for sizing a NoMachine infrastructure and benchmark tests for v. 6 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Added on: 2018-02-07 | Last Modified: 2019-04-05 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ID: AR02P00966 | Applies To: NoMachine Software | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
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.
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
By running 10 virtual desktops at screen resolution of 1360x768 with fullscreen YouTube video, we got the following data:
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:
We also suggest to read the following article about bandwidth usage and optimizations:
Test case 1: NoMachine Enterprise Desktop
1.1) 1 user connected to the physical desktop 1.2) 10 users connected to the same physical desktop
RAM usage for nx* processes: 1.3 GB
1.3) 20 users connected to the same physical desktop
RAM usage for nx* processes: 2.5 GB
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: 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
GNOME 2.28 + Firefox 52.6.0: 608 MB
GNOME 2.28 + FreeCAD 0.13: 500 MB
RAM usage for a custom session in floating window mode running the following program as single application:
Firefox 52.6.0: 494 MB
Number of concurrent sessions actively used without performance penalties: 2.2) X11 vector graphics mode disabled (advisable for multimedia playing) RAM usage for each virtual desktop, running:
GNOME 2.28: 422 MB
GNOME 2.28 + Firefox 52.6.0: 674 MB
GNOME 2.28 + CAD (FreeCAD 0.13): 602 MB RAM usage for a custom session in floating window mode running the following program as single application:
Firefox 52.6.0: 497 MB
Number of concurrent sessions actively used without performance penalties:
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: 3.1) X11 vector graphics mode enabled, default RAM usage for each virtual desktop, running:
GNOME 3.22.2: 596 MB
GNOME 3.22.2 + Firefox 52.6.0: 958 MB
GNOME 3.22.2 + FreeCAD 0.16: 893 MB RAM usage for a custom session in floating window mode running the following program as single application:
Firefox 52.6.0: 495 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
GNOME 3.22.2 + Firefox 52.6.0: 1.028 MB
GNOME 3.22.2 + FreeCAD 0.16: 948 MB
RAM usage for a custom session in floating window mode running the following program as single application:
Firefox 52.6.0: 489 MB
Hardware specifications:
OS: 4.1) X11 vector graphics mode enabled, default
4.2) X11 vector graphics disabled
Hardware specifications:
OS: 4.3) X11 vector graphics mode enabled, default
4.4) X11 vector graphics mode disabled
|