SLAMD
Encyclopedia
The SLAMD Distributed Load Generation Engine (SLAMD) is a Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

-based application designed for stress testing and performance analysis of network-based applications. Initial development of SLAMD was performed at Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

, with recent development sponsored primarily by UnboundID Corp..

SLAMD is available under the terms of the Sun Public License
Sun Public License
The Sun Public License is a software license that applies to some open-source software released by Sun Microsystems . It has been approved by the Free Software Foundation as a free software license, and by the Open Source Initiative as an open source license...

, which is an OSI-approved open source license. The main site for obtaining information about SLAMD is available at its main web site, and it is available as a java.net project.

SLAMD was originally developed for the purpose of benchmarking and analyzing the performance of LDAP
Lightweight Directory Access Protocol
The Lightweight Directory Access Protocol is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol network...

 directory servers, and it is the most powerful and flexible tool available for this task. However, it is also well-suited for testing other kinds of network applications and has been used for things like Web servers and Web-based applications, relational databases, and mail servers. It can also be used for non-network based applications (and in fact, it is used for comparing things like CPU power and memory latency across a number of different kinds of systems), although its distributed nature makes it ideal for systems that can be accessed remotely.

Architecture

SLAMD uses a distributed model consisting of a server (SLAMD is distributed with Apache Tomcat
Apache Tomcat
Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation...

) and clients. The operator schedules a new job using a browser, and submits the job for execution. The server sends the scheduled job to selected clients, these clients then generate load based on parameters defined in the SLAMD job class and report results back to the SLAMD Server
SLAMD Server
A SLAMD Server is a server supported by an application server that services SLAMD clients and SLAMD jobs....

. SLAMD 2.0.0-alpha1 uses the Berkeley DB Java Edition.

Extensibility

"SLAMD provides a Java-based API to make it possible to quickly develop custom workloads, and it also contains an embedded scripting engine that can make it easy to stress applications using protocols like LDAP
Lightweight Directory Access Protocol
The Lightweight Directory Access Protocol is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol network...

, HTTP, SMTP, IMAP, and POP
Post Office Protocol
In computing, the Post Office Protocol is an application-layer Internet standard protocol used by local e-mail clients to retrieve e-mail from a remote server over a TCP/IP connection. POP and IMAP are the two most prevalent Internet standard protocols for e-mail retrieval. Virtually all modern...

, or any database that can be accessed via JDBC. It also includes tools for recording and playing back TCP traffic, and a utility for intercepting LDAP communication and writing it as a script that may be executed in the SLAMD scripting engine."


SLAMD jobs are managed by Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 classes. New SLAMD job classes can be created by writing Java code using a well-defined APIhttp://www.slamd.com/docs/slamd_job_developers_guide.pdf, compiling the Java code, and installing the Job Class (the class is installed on the servers and the server pushes it out to the clients).

Supported Systems

SLAMD is supported on any computer operating system that supports Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, such as Solaris, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, AIX, HPUX, and Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

. SLAMD version 2 or greater requires Java 5 or greater.

Jobs

Benchmarking campaigns are a series of SLAMD jobs. SLAMD jobs are created by filling in the forms in the Schedule a New Job page. The operator sets up a job via a browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

, then submits the job. The Server sends the job to SLAMD Clients.

The SLAMD Clients generate load based on parameters in the SLAMD job class. Parameters can be items such as duration, ramp-up and ramp-down, and any other parameter defined in the Job Class.

Reporting

SLAMD generates reports in the following formats:
  • HTML
    HTML
    HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

  • Portable Document Format
    Portable Document Format
    Portable Document Format is an open standard for document exchange. This file format, created by Adobe Systems in 1993, is used for representing documents in a manner independent of application software, hardware, and operating systems....

  • Text file
    Text file
    A text file is a kind of computer file that is structured as a sequence of lines of electronic text. A text file exists within a computer file system...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK