Faban 1.0ea3 is our feature-freeze release. There will not be
any
feature additions or look&feel changes for 1.0 any longer.
We
encourage testing out this release, checking the documentation, and
filing bugs against any issues you may find. Critical bugs will be
fixed for Faban 1.0 final.
The documentation going with this release is at
http://faban.sunsource.net/1.0/docs/toc.html.
It is complete but will need help reviewing and adjusting. Also the javadocs
for this release are now available online.
Faban 1.0ea2 is now available. There has been a lot of changes
in
the UI styling, which is obvious as you look into your results the
first time. But beyond just the looks, the largest addition to this kit
is the new services and tools architecture which allows developer to
write and plug-iin their own services and tools. Standard services and
tools for Apache and MySQL are available with this release with many
more to show up in the near future.
The documentation going with this release is at
http://faban.sunsource.net/1.0/.
It is still being beefed at this time
and you'll also still see changes before arriving at 1.0 final.
Finally, the first early access build for 1.0 after we put out
0.9
almost half a year back. We have been busy working on the 1.0 feature
set and it took us quite a while to get to a stable enough state not to
blow things up when you try to use it. There are a tremendous amount of
fixes and new features that went into this release. While this kit is a
huge improvement over 0.9 stable/final, it is not yet feature complete.
Lets say there is one major enhancement waiting between now and 1.0.
Instead of listing the bug fixes and new features in this page which
will quite overwhelm it, please click here
to find out what went into
this release.
The documentation going with this release is at
http://faban.sunsource.net/1.0/.
It is still being beefed at this time
and you'll also still see changes before arriving at 1.0 final.
Wow,
who would think there is still so much going in before we get 0.9 out.
We have not been putting out nightly builds for some time mainly
because we're testing many additions and fixes. But this is pretty much
the final Faban 0.9 minus any further bug fixes. Here are the new
things for this close to final version:
Resolved several issues regarding duplicate instantiation
of the agents.
Re-wrote the file transfer to avoid any mmap memory bloats.
The agent got a much smaller and steady memory footprint.
Changed
the tools to become scheduler based, instead of thread based. This also
results in smaller and more stable agent memory footprint.
Updated
the stats page to recognize rig topology and added tooltip on the
server name to provide server role, interfaces, aliases, and their
roles in the tooltip.
Faban driver timing granularity changed
from microsecond to nanosecond. The benchmark driver has a new
annotation to specify the time unit for reporting response times. The
default is in seconds. With this change there is also a whole host of
other changes regarding response time buckets.
New harness APIs to allow better modification of the XML
config file.
Added new services and tools around Apache, Memcached, and
GlassFish.
Fixed build process for building Faban with embedded
benchmarks.
Fixed all known reported bugs.
Also please check out or pre-release documentation at http://faban.sunsource.net/0.9/
and report any bugs, broken links, and consistency issues. Also please
let us know if we're missing something.
A minor bug fix release to the 02/06/08 contains more elaborate checks
for
stale Faban instances hanging around causing your instance not to
initialize correctly. There are also a few additions in this version:
Implicit handling host:port fields using the
fa:hostConfig/fa:hostPorts element. Specifying the
fa:hostConfig/fa:host element becomes optional. Faban will
automatically populate fa:hostConfig/fa:host based on the host:port
field values making set of hosts is available for query.
New APIs to support host:port pairs:
ParamRepository.getHostPorts()
Utilities.parseHostPorts()
New APIs to facilitiate driver-side load balancing.
Faban 0.9 EA3. Who'd think we'll get this many RFEs at this
late stage. But we got most of them in anyway. And most of them are
even tested at this point. Here is the list of features added to this
kit:
Reduce Faban packaging to single package. There is no more
a separate server, client, or bundle package. It's all in the kit. The
command makeagent is provided to build the minimal client/agent
package. This is usually done for rigs consisting of numerous machines.
Support for explicit classpaths through the JVM options.
Download check for shared storage between nodes in the rig.
If storage is shared, classes won't be downloaded.
Fall back to using interface probes to determine the
interface used for accessing virtual nodes.
Physical time sync in Faban harness. Harness will attempt
to set the time of all systems in the rig to be the same time as the
master (may work on Unix only, unless Windows provide a command). The
accuracy of the time sync is ± 10ms. Note that this is complementary to
the virtual time sync in the Faban driver framework which has a much
better accuracy of approx 1ms.
Provided WebServerServices to allow controlling web servers
such as Apache and LightHttpd and collecting their stats.
Provided MySQL service to allow controlling and collecting
stats for MySQL servers.
Provided MemCached service to allow controlling and
collecting stats for memcached.
Add polling for run completion to fabancli
Add synchronous log output to fabancli
Add kill to fabancli
Rolled config file http driver into fhb using the -f flag
Added access to benchmark directory and resources directory
to DriverContext
Added access to thread count in agent to DriverContext
Increase Xforms field sizes to better utilize the screen
real estate
Allow
for non-buffered log and tool output logging by specifying
-Dfaban.command.buffer=false in the JVM options. Buffering is enabled
by default. But in some cases we want to get the logged information in
real-time to determine problem causes and therefore the non-buffered
output is needed.
Consider this one Faban 0.9 EA2. The only major feature added
to
this release is the agent daemon which makes us independent from rsh or
ssh. While rsh/ssh can be replaced with starting the agent daemon on
each system in the rig, it is officially still supported and is widely
used. So if you're running a rig with rsh/ssh configured, you do not
need to change it. Also, in daemon mode, the system in
question
does not need to use the same FABAN_HOME and JAVA_HOME as the master.
It will inherit FABAN_HOME and JAVA_HOME from the daemon, if needed.
This also allows combination of Unix and Windows systems in the same
rig.
Beyond that, we've added a sample FTP benchmark, increased
reliability upon process termination so that subsequent runs are not
affected by residual of preceeding runs, and fixed very many bugs we've
found, including a very important HTTP post bug we found in the
previous release.
Windows support is one area being worked on and not yet done.
The
basic Faban harness has been running on Windows for about half a year
now. The driver framework never had problems with Windows. And with
this release, we added Windows script wrappers for the new Faban tools
in the bin directory. We're still missing the plotting wrapper scripts,
though. Also, we're a bit behind testing many of the Windows
scripts. So please let us know if you have issues there. We'll
certainly accept fixes, too.
In the next release, we should be able to finish all the
Windows
validation tests and wrap up the documentation for Faban 0.9 to make a
final/official release.
No we have not been sleeping all this while. But it takes a
bit of
time for this important move. So yes, we're officially on Faban 0.9 as
of today. We do not expect as many core enhancements in the 0.9
timeframe as we've seen in 0.8. At least we hope we'll not keep moving
the target as we used to.
This is our initial release of 0.9 to satisfy the set of users
eagerly waiting for it's features. I won't say it is rock solid just
yet, but we're close. Also there's still a list of known issues and
incompletions. Here's all the new stuff and changes:
Welcome to "fhb" - the Faban HTTP Bench. This is a command
line
tool for those of you who just want to quickly test some web site and
get some useful statistics.
For those waiting to run Faban on Windows, this version
provides
a glimpse but not everything is done just yet. Yes the harness runs on
Windows and you can manage and run benchmarks on Windows, but fhb still
does not run, as well as our analysis engine still does not do well on
Windows. Obviously something to fix.
Warning: For the ones who used Faban before, we added
namespaces
to the benchmark config file. So your old code may not be compatible.
And your config files and XForms need upgrading. It's not hard but
nonetheless requires some work. We hope this is the last time we need
to break any compatibility. The earlier the better.
Now it is easier than ever to adapt Faban to all Unix-based
platforms. Of couse, we tested it on Linux and Solaris, but we've heard
of people running it on MacOS/X, too. Also other flavors of Unix should
not take much work. We can map everything Faban does to match
particular operating systems.
The namespaces will allow us to clearly document the
harness integration processes.
The Web1 example has been renamed Web101.
We added a harness integration example with SPECweb2005.
But the
config and xslt files have not yet been upgraded to use namespaces.
We also added yet another example called "fabanload." This
is a
benchmark to test the Faban harness itself. It is more comprehensive
than Web101.
Documents are still severely lagging behind. But since we
completed all the building blocks in the code to make it possible to
write good documentation, there is no longer an excuse why we cannot
finish it.
We'll promote 0.9 to the mainstream download as soon as we
have the shortcomings fixed and tested.
Well, we have not officially moved to 0.9 yet, but there are
many
additional features and bug fixes in this release, after lagging behind
on pushing things out for some time. Changes are as follows:
This build is build on JavaSE6. However, we build with the
JDK1.5
class version and testing has been done on both JDK1.5 and JavaSE6. No
upgrade needed.
We introduce a CLI with this version. The design is not an
elaborate CLI for human users but is designed for scripts to interact
with the Faban harness. All human interactions should go through the
web interface.
We added interface probing in Java for OSs that do not
allow us
to find the route using ping. The old interface script is still
preferrable and more reliable. The interface probe is currently a fall
back.
Added ExpectedException to the driver framework so expected
conditions do not filll up the logs. The operation will still fail.
Allowed Faban driver agents to be asymmetrically
distributed across Faban driver hosts, if dictated.
Note: If you have a driver or harness project, you may need to
update it's build.xml from the Web1 sample. Some of the classpaths of
ant tasks have changed requiring this file to be updated.
Specifying os-specific rsh in cmdmap.xml. This allows
better adaptation to different operating systems.
Fixed deployment but disallowing scale name to be null or
left blank.
This build is complete for the final 0.8 release, minus all
documentation updates and bugs that may show up. Call it 0.8RC1. Once
we get the docs done, we'llpromote 0.8 to the general download area.
Significant features and enhancements are planned for 0.9. Keep
watching!
This is a huge release after a long time - and packed with
tons of
new stuff that we had to test first before putting it out. But we're
sure it's worth the wait. Build 12/08/06 contains a lot of enhancements
and stability fixes. Lets list just the major ones:
Enhancements on security configurations allowing setting
the messages to make sense to your environment.
Deploy security disallows rogue deployments.
Clear config deploy option ensures no incompatible config
files exist. Turn this on in development environments.
Proxy mode for submissions through firewalls. Users will
submit to Faban installation outside firewall and the master will poll
this server for runs, make the runs, and post the result back to the
submitting server. Needs a bit of configuration and trust between the
two servers. Simple security is included.
Result metadata cache significantly increases the speed of
the result view page.
Changes in cycle semantics in the driver framework. Cycle
for an operation used to be cycles before. Now it is cycle after. This
is much cleaner and more accurately calculates the Little's law
verification.
Added @OnceBefore and @OnceAfter annotations to the driver
framework. This is useful for audits.
Build 08/31/06 adds authorization using ACLs to the Faban
security
implementation. I also adds trapstat processing support in Xanadu and
has a few more bug fixes.
This build has the new harness hook API which is close to
stable.
Due to API changes, I'm almost calling it 0.8. But lets wait a little
till this we get it better tested and ensure that we have everything we
needed in the API and hopefully we'll not need to change the harness
hook API anytime soon (The driver API is stable). This build also
includes src.zip and javadocs.zip so it is easier to use by most IDEs.
Beyond this, we added support for the cpustat tool (Solaris-specific).