define(MC_TITLE,WebStone Architecture)
define(MC_DATE,98/05/14)
include(mc_html_head.h)
<!-- @(#) architecture.in 1.2@(#) -->
</UL><FONT SIZE=+1><STRONG>NAME</STRONG></FONT><UL>
WebStone Architecture - How It Works
</UL><FONT SIZE=+1><STRONG>DESCRIPTION</STRONG></FONT><UL>
<P>
The WebStone benchmark can be invoked through a number of different
interfaces, depending on the user's needs.  This document shows
how the provided interfaces fit together.
<P>
<DL>
<P>
<DT><FONT SIZE=+1><STRONG>WebStone GUI</STRONG></FONT>
<DD>The highest-level interface is delivered through
a Web browser.  Calling <STRONG>webstone -gui</STRONG> starts a
tiny Web server, written in Perl, that executes other Perl programs
to cause HTML to be sent to the browser.  Care has to be taken to
keep the browser from interpreting the Perl scripts before they're
sent to the WebStone micro-server.  This is why the Perl scripts that
make up the WebStone GUI have a special suffix, <STRONG>.wpl</STRONG>.
<P>
<DT><FONT SIZE=+1><STRONG>webstone</STRONG></FONT>
<DD>This is a script that provides a simple command line
interface for running the benchmark.  It's provided as a shell script
for UNIX systems and as  Perl script for Windows NT.  <STRONG>webstone</STRONG>
has a number of simple options, including setting up the GUI, invoking
the GUI, and starting the benchmark directly by calling
<STRONG>runbench</STRONG> with or without special arguments.
<P>
<DT><FONT SIZE=+1><STRONG>runbench</STRONG></FONT>
<DD><STRONG>runbench</STRONG>, like <STRONG>webstone</STRONG>,
is provided as a shell script
for UNIX systems and as  Perl script for Windows NT.  It is a wrapper that
provides command line arguments for <STRONG>webmaster</STRONG> by
reading a configuration file called <STRONG>conf/testbed</STRONG>.
<STRONG>runbench</STRONG> can manage a series of <STRONG>webmaster</STRONG>
runs.
<P>
<DT><FONT SIZE=+1><STRONG>webmaster</STRONG></FONT>
<DD>This program manages the configuration, execution,
and data analysis of <STRONG>webclient</STRONG> runs on one or more
client computers.  <STRONG>webmaster</STRONG> starts runs on all
the client systems.  It then waits for the <STRONG>webclient</STRONG>
to report that they've finished, and polls them for their results.
Finally <STRONG>webmaster</STRONG> collates and summarizes the
data and prints a report.
<P>
<DT><FONT SIZE=+1><STRONG>webclient</STRONG></FONT>
<DD>The program that actually creates the test load on the HTTP
server to be benchmarked.  <STRONG>webclient</STRONG> creates
multiple copies of itself.  Each copy of the program sends
HTTP requests to the server as fast as it can, issuing a new
request as soon as its previous request is answered.  At the end
of the run <STRONG>webclient</STRONG> summarizes its results and
either reports them to a <STRONG>webmaster</STRONG> program or
writes them to the standard output stream.
</DL>
</UL><FONT SIZE=+1><STRONG>AUTHOR</STRONG></FONT><UL>
include(copyright.h)
</UL><FONT SIZE=+1><STRONG>LIMITATIONS</STRONG></FONT><UL>
</UL><FONT SIZE=+1><STRONG>SEE ALSO</STRONG></FONT><UL>
<A href=runbench.html>runbench(1)</A>,
<A href=webclient.html>webclient(1)<A>,
<A href=webmaster.html>webmaster(1)</A>,
<A href=webstone.html>webstone(1)</A>,
<A href=webstone.html>webstonegui(1)</A>
include(mc_html_foot.h)
