Get Addanc at Fast, secure and Free Open Source software downloads [Python Powered] [WebSledge] [Downright Software LLC] []

Project Status Download Documentation SourceForge Project Support

addanc-celtic knot Addanc is a distributed, scalable system for stress- or load-testing Web applications. Addanc is most useful for testing complex systems consisting of multiple "moving parts" with a web GUI.

Addanc focuses on the arrival rate of ”service requests”, rather than generating a server load based on a fixed number of clients. Addanc clients arrive at a specific rate and execute a set of HTTP/HTTPS GET and/or POST transactions representing the “service request.”  

Addanc supports the following features:
  • Definable arrival rates
  • Unlimited number of clients
  • Scheduled tests
  • HTTP and HTTPS support
  • Cookie support
  • Redirection support
  • Configurable test durations
  • Ability to allow client scripts to complete at test termination
  • XML based scripts
  • Configurable  inter-page wait times
  • Real-time monitoring of internal queues
  • Jabber support for distributed component command, control, and monitoring
  • Instrumentation of page times, transaction connect times, send and receive times, send and receive byte counts
  • MySQL and file support for recording instrumentation data
  • Configurable page and transaction ids
  • Distributed, scalable architecture

The Addanc project is open-source, uses open-source components and is hosted on The Addanc team appreciates the support of the open source community and the project support services provided by SourceForge.

Why Addanc?

Addanc is different from most other web performance testing systems in that it focuses on testing a system via the arrival rate of new requests for services rather than a fixed number of clients. Members of the development team have used a number of testing tools that focus on delivering testing traffic from a fixed (or varying) number of clients. In these test environments, the number of clients is fixed and each client iterates through a script. The load generated by a client-oriented system is limited by the number of clients and the time it takes the system under test (SUT) to respond to all the requests in a client's script. Thus, the load generator and the SUT are tied together in a feedback loop. This becomes a non-linear system leading to unpredictable behavior that may be sensitive to initial conditions. At extremes of performance, which is where most testing is interesting, this feedback loop limits the test load and often causes positive feedback and wild swings in measured performance and loads. Even when not at extremes, testing systems based on a fixed number of clients are difficult to "tune" when attempting to test systems against transaction rate metrics. For example, it can be difficult to determine, except with trial and error, the number of clients required to generate a targeted transaction rate.

Addanc decouples the generation of test traffic from the "life" of a client. Addanc generates new clients at a specified rate. These clients then execute their assigned script and exist for as long as necessary to complete the script. When the arrival rate of new clients is well below the work capacity of a tested system, the number of clients will remain relatively fixed, with some variance due to the stochastic nature of servicing the requests. When the client arrival rate starts to exceed the work capacity of the SUT, the number of active clients will start (and usually continue) to rise. When the client arrival rate closely matches the work capacity of the SUT, the number of active clients will vary as the system deals with the work requests. Because Addanc clients are generated at a determined rate, it avoids "surging" or client synchronization that can occur in other systems due to resource queuing. By generating new clients based on arrival rate, Addanc also avoids the problem of starting a set of clients at the same time (which would result in synchronized demand as all clients step through their scripts at the same rate).

So, Addanc offers a better testing environment than fixed-client testing systems by more accurately simulating a "real world" environment where service demand and capacity are independent. By focusing on arrival rates, Addanc allows the tester to plan and develop tests that will reveal the behavior of the SUT under loads expected when deployed.

Addanc is most useful when testing complex applications consisting of several "moving parts" with a web-based front end. The stochastic nature of such systems can make client based tests difficult to plan and interpret. Consider a system involving multiple application servers, a database server, and a communication channel to a mainframe application. When testing such a system at the limits of its capacity using a fixed number of clients, small perturbations in mainframe service times or communication channel capacity may cause strong feedback to the testing system leading to wide swings in test load, measured performance, and measured throughput. Because Addanc continues to generate new requests for service, uncoupled from the SUT's ability to handle the requests, this feedback is avoided and true measures of performance and capacity may be obtained.

Addanc Components

An Addanc test system consists of number of cooperating and interacting components. These components communicate with each other using the Jabber protocol. Addanc components can exist on the same network or can be distributed across any number of networks, as long as they can all access a common jabber server. The Addanc Brick provides the basic testing functionality. Thus, increasing testing capacity is simply a matter of provisioning additional Bricks.

The basic Addanc components are:

Addanc Prerequisites

Addanc uses a number of other open-source components. To successfully install and use Addanc you must download and install the following packages:

The Addanc installation process will automatically install the following packages:

Addanc Mailing Lists

The Addanc team has established the following mailing lists:

Where does the name Addanc come from?

Addanc (also spelled Affanc, Avanc, or Abac) is a character from pre-Christian Welsh and Celtic mythology. Like many cultures, early Welsh and Celtic mythology includes a story about a worldwide flood or deluge. In the Celtic flood mythology, Addanc was a primordial god or faery, often characterized as a dragon, who created and rode (surfed) the crest of the great flood near his home on Llyon Llion, the Lake of Waves. The flood washed over the entire earth killing all inhabitants except  the God/Hero Dwyvan, and his wife, the Goddess/Heroine Dwyvach, who escaped the flood in an ark. 

In modern Wales, "Addanc" is used to describe any evil fresh water-dwelling spirit. The related term "Afanc" describes a beaver.

The Addanc development team relishes the image of a giant dragon surfing the crest of a large wave washing across the world destroying everything in its path. Now that's a stress test!

Page Updated: 2/9/2004