VOLANO Benchmark

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.

Download

You can download the VOLANO chat server benchmark from the following links:

volano_benchmark_2_9_0.class
For Microsoft Windows, GNU/Linux, Apple Mac OS X, Sun Solaris, and FreeBSD operating systems.
volano_benchmark_2_9_0.md5
To verify the downloaded file (using md5sum, for example).

Installation

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.

Running

Modify the following Bash Shell start-up scripts to run the tests on your network:

loopserver.sh
to start the server side of the loop-back performance test.
loopclient.sh
to start the client side of the loop-back performance test.
netserver.sh
to start the server side of the network scalability test.
netclient.sh
to start the client side of the network scalability test.
startup.sh
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.

Notes

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:

/etc/security/limits.conf

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

2014-04-02 — The Java 8 Plug-in released on March 18, 2014, blocks the VOLANO chat applets from connecting to the chat server. More…

The VOLANO® chat software for the Java™ platform lets you build on-line communities and add real-time social networking to your Web site. More…

John Neffenger <john@status6.com>
More…

A PROJECT OF STATUS:6®