SLAMD Distributed
Load Generation Engine
Version 2.0.1

SLAMD 2.0.0-20090227 Release Notes

The following changes have been integrated into SLAMD since the SLAMD 2.0.0-alpha1 release:
  • The source code has been completely refactored to use a package structure of "com.slamd.*". Further, the "com.slamd.example" package has been changed to "com.slamd.jobs". All of the tools have been moved into the com.slamd.tools package structure, and all classes are now delivered in a single jar file rather than a combination of multiple jars and individual classes. The administrative interface has been broken up so that rather than keeping all source in one huge file, it is now split across several files. The job API has been updated so that it is now possible to provide short and long descriptions, and the destroy method has been renamed to destroyThread so that it no longer overrides the Thread.destroy method.

  • The source code has been significantly updated to require the use of Java 5.0 or later. The code builds cleanly on Java 5.0 with no warnings, and takes advantage of features introduced in Java 5 including generics, better concurrency support, and more accurate timing.

  • The UnboundID LDAP SDK for Java is now used as the primary library for communicating with LDAP Directory Servers. The Netscape Directory SDK is still used in a few legacy cases, but for the most part jobs which perform LDAP communication now use the UnboundID LDAP SDK. These jobs have been completely rewritten to provide better performance, and additional features like support for client-side load balancing across multiple directory servers, support for StartTLS communication, and a response time threshold. Specific jobs have additional enhancements as well.

  • Many of the LDAP-based job classes have been consolidated so that there are fewer jobs in total, but the jobs that are there provide the same basic features that were included in the previous set of jobs (as well as additional functionality that was not previously available).

  • A new job class has been added that makes it possible to perform searches against an LDAP directory server when a large number of connections are established (and the number of connections is not based on the number of client threads). Requests will be spread across those connections.

  • A new job class has been added that makes it possible to wait for an LDAP directory server to become available before continuing on with subsequent tests.

  • Some legacy job classes have been removed which are likely no longer useful and which I am not in a position to continue supporting.

  • A new resource monitor has been added which provides the ability to obtain resource monitoring information from an LDAP directory server (and particularly from monitor entries offered by the server). It uses a configuration file to provide very flexible control over the types of information that may be captured.

  • The TimeTracker stat tracker has been updated so that it provides much greater accuracy using nanosecond-resolution timers. The results reported will remain the same, but they should be much more accurate, especially for operations which take less than a few milliseconds.

  • The Tomcat and Berkeley DB JE libraries have been updated to use the latest available versions.

  • The SLAMD scheduler has been updated so that it uses a blocking queue rather than periodic polling for scheduling new jobs. In most cases, if a job is eligible to start running immediately, then it will do so. Often, the page displayed in the administrative interface after the job has been scheduled will show that the job is already running.

  • A number of shell scripts and batch files have been provided to make it easier to invoke tools provided with SLAMD. A new Tools Guide document has been added which summarizes the available tools and provides usage information. These tools are now included in the client and resource monitor client archives as well as with the SLAMD server.

  • The searchrate, modrate, and authrate command-line tools provided as examples in the UnboundID LDAP SDK for Java have been exposed for use with SLAMD.

  • The client and resource monitor client packages have been updated so that it is possible to explicitly control the client ID and source IP address that are used when communicating with the SLAMD server. This is particularly helpful when used on multi-homed systems, especially when the system has multiple interfaces on the same network.

  • Updates have been made to the administrative interface when viewing jobs to make them less likely to require horizontal scrolling.

  • Job descriptions have been improved. On the page listing the jobs available to be scheduled, the links to the jobs now have pop-up hints that provide a short description of the job. On the page allowing you to schedule a job, a longer description of the job is available at the top of the page.

  • A number of miscellaneous bug fixes and enhancements have been applied.