The main idea was to create an easy to use testing framework, which makes it easy to generate enough load on a server system. The idea was born while testing the Brokat X*Presso server, which have a Java client and a C++ server component.
Also webservers were tested with a Java client but we had to write a C based load runner to generate enough load to impress the Apache. This time we discussed about a network of clients that simulate real users.
There are several products available (also for free) to test the webserver families in a distributed way but we currently do not know any product which is Java based and protocol independant and therfore not limited to HTTP servers.
Our next idea was a Java server process which listens on a UDP multicast address and wakeup if any request sent a message to this address. The memory footprint of this Java daemon process is too big that users want to install it permanently on their boxes. Also it is not too easy to create a NT service or a Unix daemon from a Java program. A small c process (daemon or service) is listening on the multicast and fork virtual machines on demand. It it also possible to kill dead VM's with another multicast message.
The controller is the central management and test console where all commands stem from and where the tests are deployed from. To make the several jobs as easy as possible a GUI written in Java was implemented. The sample session shows some nice pictures of it.
The nodes are possible test client machines which are used to simulate real users. A server component is implemented in C which listens on a multicast address (as described earlier)
The target server is the 'poor' part of this scene - it is the target of all client requests and the part to be tested.
$Id: architecture.html,v 22.214.171.124 2001/03/20 09:53:34 mrumpf Exp $