This article applies to NX 3.5.0, for benchmarks related to NoMachine 4 and later please refer to:
and for retrieving NoMachine statistics:
Benchmarking NX 3.5.0 performance
You might be interested either in verifying NX performance, according to the bandwidth at your disposal, and/or which is the maximum number of users/concurrent sessions that can be handled on your NX node host machine.
How to make benchmark tests on NX performances
To obtain a detailed report of X compression statistics you can use the NX Session Administration GUI, provided by NX Client 3.5.0, to display the statistics, or send a USR1 or a USR2 signal to the nxagent process to dump statistics in the session directory, on server side. Sending a USR1 signal produces total statistics, i.e. statistics starting from the beginning of the session. By sending a USR2 signal,
you obtain partial statistics, i.e. statistics starting from the last time a USR2 signal was delivered. Statistics data are stored in stats file placed in the session directory under the user's home/.nx directory, either on client and server side.
How to make benchmark tests on NX server
In order to make a benchmark on how many users and sessions can be run on your NX node host machine, you need to have an automatic way either to generate accounts on the system and to start sessions. If you have NX Server and NX Node running on the same host machine, you could enable support for guest users in your NX Enterprise or Advanced Server,and let your server to automatically generate accounts for you.
As an alternative, you can create a script shell to be run on the NX Node host machine which generates a number of system users and set pasword for them. As a suggestion, prepare also a script for removing all these users created for test purposes, once you have completed your benchmark tests.
Then you need to make automatic the way sessions are started on the server. In order to do this, you may generate, always by using your own shell script, a number of .nxs files to be placed under the home/.nx/config directory of each of the test users. Use the NX Client GUI to generate a session file to be used as template for your script.
If you don't have configured NX Server to support guest users, and you are using instead your script to create users accounts, ensure that username and password are stored in the correspondent session file for each of these test users. Password has to be stored in a scrambled format, according to the algorithm provided here:
Finally, you need a further script to run nxclient in --session (or --plugin) mode so that you can specify the session file from command line.
/usr/NX/bin/nxclient --session /home/nxtest01/.nx/config/nxtest01.nxs
Please consider that, the number of concurrent sessions that can be run on the same node host machine heavily depends on the session type and on which kind of applications you are running inside. For example heavy-duty CAD or photo applications running inside a KDE/GNOME desktop, require more system resources than running a Web browser in rootless mode.