VolanoMark Loopback Test
The loopback test runs the Volano server and client on the same system. After the server is started, the client is started using parameters that specify the number of rooms and messages. The number of rooms and messages can be changed in order to modify the load on the system. Most of the loopback tests we have run use 10 rooms and 100 messages. The size of the messages are about 100 bytes.
The test is written so that each room consists of 20 users. If a test is started with 10 rooms then there are 200 (10x20) users in total. For each user, the test will create a TCP connection between the client and server. There are 20 connections create for each room and a total of 200 TCP connections created for the test. For each connection, the test creates a client receiver and sender thread and a server receiver and sender thread. So there are 200 connections and 4 Java threads per connection for a total of 800 (200*4) Java Threads. The IBM JVM uses a separate Linux process (pthread) to implement each Java thread so there are also a total of 800 linux processes.
When the test starts, a client send thread will send a message to a server receive thread. The server receive thread wakes up the other 19 server send threads for the room. The server send threads then send the message back to the 19 client receive threads for the room. This continues until all 200 client send threads have each sent 100 messages.
So the workload creates a large number of processes (800) and TCP connections (200). Many of the processes are in the run state with average run queue length of 70 during the 8P test. The Java event sems are implemented using pthread mutex locks resulting in a large number of signals to do the wakeups.
For additional information on the benchmark go to http://www.volano.com/benchmarks.html.
VolanoMark Network test
The network test runs the Volano server on one system and the client on another system. Volano, LLC runs this test to determine if a particular Java implementation and operating system can support upto 6000 connections. The total number of processes are split between the Volano server and client.