14.07.2013 Views

Contents - Cultural View

Contents - Cultural View

Contents - Cultural View

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SLAMD 273<br />

SLAMD<br />

The SLAMD Distributed Load Generation Engine (SLAMD) is a Java-based application designed for stress testing<br />

and performance analysis of network-based applications. Initial development of SLAMD was performed at Sun<br />

Microsystems, with recent development sponsored primarily by UnboundID Corp. [1] .<br />

SLAMD is available under the terms of the Sun Public License, which is an OSI-approved open source license. The<br />

main site for obtaining information about SLAMD is available at its main web site [2] , and it is available as a java.net<br />

[3] project.<br />

SLAMD was originally developed for the purpose of benchmarking and analyzing the performance of LDAP<br />

directory servers, and it is the most powerful and flexible tool available for this task. However, it is also well-suited<br />

for testing other kinds of network applications and has been used for things like Web servers and Web-based<br />

applications, relational databases, and mail servers. It can also be used for non-network based applications (and in<br />

fact, it is used for comparing things like CPU power and memory latency across a number of different kinds of<br />

systems), although its distributed nature makes it ideal for systems that can be accessed remotely.<br />

Architecture<br />

SLAMD uses a distributed model consisting of a server (SLAMD is distributed with Apache Tomcat) and clients.<br />

The operator schedules a new job using a browser, and submits the job for execution. The server sends the scheduled<br />

job to selected clients, these clients then generate load based on parameters defined in the SLAMD job class and<br />

report results back to the SLAMD Server. SLAMD 2.0.0-alpha1 uses the Berkeley DB Java Edition. [4]<br />

Extensibility<br />

"SLAMD provides a Java-based API to make it possible to quickly develop custom workloads, and it also<br />

contains an embedded scripting engine that can make it easy to stress applications using protocols like LDAP,<br />

HTTP, SMTP, IMAP, and POP, or any database that can be accessed via JDBC. It also includes tools for<br />

recording and playing back TCP traffic, and a utility for intercepting LDAP communication and writing it as a<br />

script that may be executed in the SLAMD scripting engine." [5]<br />

SLAMD jobs are managed by Java classes. New SLAMD job classes can be created by writing Java code using a<br />

well-defined API[6], compiling the Java code, and installing the Job Class (the class is installed on the servers and<br />

the server pushes it out to the clients).<br />

Installation<br />

Supported Systems<br />

SLAMD is supported on any computer operating system that supports Java, such as Solaris, Linux, AIX, HPUX, and<br />

Windows. SLAMD version 2 or greater requires Java 5 or greater.<br />

Jobs<br />

Benchmarking campaigns are a series of SLAMD jobs. SLAMD jobs are created by filling in the forms in the<br />

Schedule a New Job page. The operator sets up a job via a browser, then submits the job. The Server sends the job to<br />

SLAMD Clients.<br />

The SLAMD Clients generate load based on parameters in the SLAMD job class. Parameters can be items such as<br />

duration, ramp-up and ramp-down, and any other parameter defined in the Job Class.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!