The Faban harness is an infrastructure to automate
running of server
benchmarks as well as a container for hosting different benchmarks and
benchmarks to be deployed in a rapid manner. The Faban harness provides
interface to launch & queue runs, and extensive functionality to
view, compare and graph run outputs.
The figure above illustrates the high level
architecture and components of the Faban harness. Controlling a rig is
the "Master." The master contains a web server which facilitates access
through the web interface to the Faban harness. It provides all the
user interfaces for submitting, managing runs as well as accessing the
run results. The run queue, discussed later in more detail, is the main
engine controlling the runs. The log server receives pseudo real time
logs from all systems in the rig. The master can also host and execute
any number of benchmarks .
Faban agents run on both the driver systems and the
systems under test (SUT). They allow the harness to launch drivers as
well as individual commands to start, stop, reconfigure servers as well
as collecting system information and statistics valuable for the
The master may run on any driver system or on it's
separate system, It can as well run on any ot the SUT systems. However,
this is not recommended as the load caused by the master can adversely
affect the benchmark results.
The Faban harness has a notation of profiles. The
the previous configuration for each benchmark you've run. The
configuration of your previous run will be used as the default of the
subsequent run allowing the user submit new runs with minimal data
entry. Only changes in the run configuration will need to be entered.
The change for each run will be relatively small. Each profile can have
tags. You can define tags for profile in the "Switch Profile" page.
Please see Scheduling
Runs for more detail on
Each Faban harness master and therefore each Faban
rig has exactly one run queue. The run queue allows submissions of
multiple runs, i.e. over the weekend or overnight. The harness will
execute these runs in a first in - first out manner, one after the
other. Once one run finishes, the next run will be fetched and executed
until no more runs are in the queue. No two runs will be executed at
the same time to avoid resource contention on the rig.
The Faban harness master contains a log server
which receives and stores log records from the master itself, agents,
and possibly the SUT. This automatically interposes log records from
each system in the rig for easy problem diagnostics. The log reader web
interface also keeps updating the log records every ten seconds
allowing the run to be easily monitored. Please see Manage Logging for more detail.
Run results are created immediately after the run
starts. These include run status information, system information,
statistics output from tools, and the run log. This allows for
monitoring the run while running as well as post-analysis of the run
results. It also provides a way to efficiently archive run results.
Please see Run Results for more detail on