News

November 11, 2009 - Announcing Faban 1.0.

After months and years of fixing, Faban 1.0 (build 111109) is now available. Get it here.

October 19, 2009 - Faban 1.0RC2 available.

Faban 1.0RC2 (build 101509) now available. This kit is a very solid kit containing critical bug fixes from RC1. Get it.

September 11, 2009 - Faban 1.0RC1 available.

Faban 1.0RC1 (build 091109) now available and rock solid. Get it.

July 2, 2009 - Faban 1.0ea3 available.

Faban 1.0 build 070209 available as a periodic build. This is the feature-freeze build for Faban 1.0. It has a few important bug fixes that were reported on ea2. Also the documentation is pretty much complete, pending further review. Get it from here.

June 23, 2009 - Faban 1.0ea2 available.

Faban 1.0 build 062309 available as a periodic build. This version is well tested. It has the latest UI enhancements for Faban 1.0 and has almost all features implemented except for one rather minor request. You can get it from here.

March 27, 2009 - Faban 1.0ea available.

Faban 1.0 build 032009 available as a periodic build. This is a well tested, stable version. It has a the vast majority of features planned for 1.0, but is not yet feature complete. There are a few more significant ones to come before we can finalize 1.0. You can get it from here.

September 12, 2008 - Announcing Faban 0.9.

Faban 0.9 stable version is now released. It provides a stable, supportable platform and several improvements in the driver framework as well as in the harness. You can get it from here.


Welcome to Faban

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:

  1. Web interface for controlling benchmark runs and viewing results
  2. Queuing of benchmark runs
  3. Benchmark process automation
  4. Automated collection of system and application statistics
  5. Manages the whole rig consisting of multiple systems across multiple teers
  6. Automated benchmark code distribution
  7. Centralized logging
  8. Pluggable services and tools to control and observe software components in the rig
  9. Analysis tools - post processes and graphs and compares detailed run results
  10. Automatically integrates and manages workloads defined using the Faban Driver Framework
  11. Integrates with any existing workload or benchmark

Faban Driver Framework:

  1. Workload component model with high-level APIs and abstractions
  2. Driven by declarative workload model/specification
  3. Provides, and encourages the use of stochastic models
  4. Throughput-oriented measurements with response-time criteria
  5. Life-cycle control
  6. Time synchronization between all systems
  7. Extremely accurate timings with large number of time calibrations built in
  8. Automated timing measurements
  9. Lightweight and extremely scalable across large number of driver systems
  10. 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

Downloads

The packages here are for the latest stable release.

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.