Faban is a facility for developing and
running benchmarks. Faban supports multi-tier server benchmarks (such
as web/cache/database benchmarks) run across dozens of machines. It
also supports developing and running a simple micro-benchmark targeting
a single component (such as an ftp server.)
It has two major components, the Faban Driver Framework
and the Faban Harness.
The Faban Driver Framework is an API-based
framework and component model to help develop new benchmarks rapidly.
The driver framework controls the lifecycle of the benchmark run as
well as the stochastic model used to simulate users. It provides
built-in
support for many servers such as Apache httpd, Sun Java System Web,
Portal and Mail Servers, Oracle RDBMS, memcached etc. It provides a
well-documented interface to add support for any other server.
The Faban Harness is a tool to automate
running of server
benchmarks. It also serves as a container to host benchmarks allowing
new
benchmarks to be deployed in a rapid manner. Faban provides an easy to
use web interface to configure and queue runs, and includes extensive
functionality to view, compare and graph run outputs.
The Faban Harness not only supports benchmarks developed using
the Faban Driver Framework but also supports stand-alone benchmarks.
Non-faban benchmarks are supported by defining a benchmark wrapper that
identifies the processes involved in preparing and running the
benchmark, and reporting results.
We summarize briefly, the features and attributes of Faban
Faban Harness:
- Web interface for controlling benchmark runs and viewing
results
- Queuing of benchmark runs
- Management of multiple systems
- Automated benchmark code distribution
- Centralized logging
- Analysis tools - graphing and comparison of detailed run
results
Faban Driver Framework:
- Descriptive driver specification
- Stochastic model
- Throughput-oriented measurements with response-time criteria
- Life-cycle control
- Time synchronization between all systems
- Automated timing measurements
- Standardized/extensible reporting
Getting Started
Faban has many usage scenarios, depending on your role in
benchmarking
or stress testing as well as the complexity of the problem at hand. It
is best to learn from Installation
and
Getting Started to use the least amount of time to get
you going.
If you have question about using Faban or run into issues,
please send email to users@faban.sunsource.net.
We also gladly accept feedback through this alias. Note that common
questions and answers may be posted on the FAQ.
System Requirements
- J2SE 1.5.0 or laterfhb
- JavaSE 6 or later is required for the Windows
platform, and preferred on all other platforms.
- Operating System
- The Faban driver framework is OS independent and can run
on any JVM 1.5 or later.
- The Faban harness is designed to adapt to most operating
systems, but due to it's functionality which reaches into the OS,
adaptation scripts may need to be written to tailor it to a particular
operating system. Currently, the Faban Harness has support for Solaris
10 and above on both SPARC and x86, Linux and Windows. Although it will
run on Linux and Windows, support for
measurement tools needs to be added.
Downloads
The packages here are for the latest stable release.
- The
Faban Kit -
This package is for installation on the Master Faban server.
- Faban
documentation - if you don't want to read it online
- Latest
Builds
As we continue to enhance Faban and fix bugs, we try to make more
recent builds available.
These are quite well tested, so please feel free to try it.
Getting Involved
We always welcome bugs, feature requests, and especially
contributions. Please use our Issue
Tracker on the left panel of this
page to enter requests as well as bugs. If you want to have some issues
resolved urgently and/or you are willing to contribute, please review
our How to Contribute to Faban
page.