The VOLANO Benchmark, also known as VolanoMark, is a testing program that lets you determine the performance and connection limitations of your hardware, operating system, and Java platform when running the VOLANO chat server. The VOLANO Benchmark consists of the VOLANO chat server along with a test driver that simulates thousands of chat clients.
See the Volano Reports at volano.org for the results of the VOLANO Benchmark tests performed by Volano Software.
You can download the VOLANO chat server benchmark from the following links:
- For Microsoft Windows, GNU/Linux, Apple Mac OS X, Sun Solaris, and FreeBSD operating systems.
- To verify the downloaded file (using md5sum, for example).
To start the installation program, change to the directory where you saved it and enter one of the following commands, substituting java with the name of the Java interpreter on your system:
- java volano_benchmark_2_9_0
- when connected with a graphical user interface.
- java volano_benchmark_2_9_0 -o directory
- when connected with a Command Prompt or Terminal window, where directory is the name of the directory where you want to install the VOLANO benchmark.
Modify the following Bash Shell start-up scripts to run the tests on your network:
- to start the server side of the loop-back performance test.
- to start the client side of the loop-back performance test.
- to start the server side of the network scalability test.
- to start the client side of the network scalability test.
- the main script called by the others.
In particular, make sure to change the target host name at the top of the startup.sh file so that it points to the machine on your network running the VOLANO chat server side of the benchmark:
# Name of the host running the server side of the network test. host=test.example.com
You may need to make other modifications, such as changing the locations in the scripts of the Java platforms installed on your system. Note that the scripts require the Cygwin Bash Shell to run on Windows.
You can get help on the options of the client side test driver by running it without any arguments from the installation directory:
$ cd volano-benchmark-2.9.0/ $ java -cp lib/volano-chat-server.jar COM.volano.Mark Usage: java COM.volano.Mark [options] where options include (default in parenthesis): -run run the benchmark -help print this message -version print version information -jvm print Java Virtual Machine environment -file <string> output file name (volano-mark.log) -host <string> server host name (localhost) -port <integer> server port number (8000) -start <integer> starting room number (1) -rooms <integer> number of rooms (50) -users <integer> number of users per room (20) -count <integer> messages per user or 0 for no limit (100) -pause <integer> message pause in seconds or 0 for pacing (0)
You need to make the shell scripts executable after installation with a command like the following:
chmod +x *.sh
On many systems, such as GNU/Linux, Sun Solaris, and FreeBSD, you'll need to increase the per-process file descriptor limit so that the user account running the VOLANO chat server and benchmark can open at least 1,000 network socket connections and roughly 30 or so files. The default hard file descriptor limit is often 1,024, which is not enough. If you increase it to 10,240, the benchmark can run all the way up to the 10,000 connections required in the network scalability tests. On GNU/Linux, you increase the per-process file descriptor limit in the file:
by adding the following line, where john is the name of the user account running the VOLANO benchmark:
#<domain> <type> <item> <value> # ... john hard nofile 10240
Log out and log back in after making the change. Apple Mac OS X has an unlimited hard limit, while the setting is ignored on Microsoft Windows, where the Java virtual machine uses the Windows API rather than the Cygwin Bash Shell settings. You can see the hard and soft per-process file descriptor limits with these commands:
ulimit -Hn ulimit -Sn