Frequently Asked Questions General SLAMD Questions 1.1 What does SLAMD stand for? 1.2 What is the history of SLAMD? 1.3 What platforms does SLAMD run on? 1.4 What are the future plans for SLAMD? 1.5 How can I learn more about SLAMD? Using SLAMD 2.1 Do I really need a directory server to use SLAMD? 2.2 Why don't my jobs start running when they are supposed to? 2.3 Why don't my jobs complete properly? 2.4 Why does viewing job information take so long? Open Source FAQ 3.1 Why did you open source SLAMD? 3.2 Does this mean that Sun is abandoning SLAMD? 3.3 How can I get the source code to SLAMD? 3.4 How can I contribute to the development of SLAMD? 3.5 How can I keep track of new developments? General SLAMD Questions 1.1 What does SLAMD stand for? First, it is important to point out that the full official name for this project is "SLAMD Distributed Load Generation Engine", although it is commonly called "SLAMD" for short. The term "SLAMD" doesn't really stand for anything. Originally, SLAMD was designed for stress testing LDAP directory servers, which frequently use a process name containing "slapd" (Standalone LDAP Daemon) and the name "SLAMD" was a play on that. However, as SLAMD is now much more flexible and can be used to test a wider range of network applications, the directory-specific name is no longer as pertinent, but we have no intention of changing it. 1.2 What is the history of SLAMD? The SLAMD Distributed Load Generation Engine as been under development as a side project within Sun Microsystems since early 2002. It was originally designed for benchmarking Sun's LDAP directory server, but was written in a very flexible and extensible manner so that it can be used for testing virtually any kind of network application. Many groups within Sun use it for their own testing, and a number of customers use it as well. With the open source release, we hope to make it even more widespread so that others may find it helpful. 1.3 What platforms does SLAMD run on? With the exception of shell scripts and batch files that are used to start the various components, SLAMD is written entirely in Java. As such, it should be possible to use on any system that is able to run Java 1.4 or higher (including Java 5.0). Note, however, that there may be some features that do not work on all platforms. For example, the client manager depends on the UNIX exec command in order to function properly, and Windows systems do not appear to offer an equivalent (i.e., a batch command that can call another program under the same process ID and terminate once that child process has completed). Similarly, some of the system resource monitors depend on command-line utilities (e.g., vmstat, iostat, etc.) that may not be available on all platforms. 1.4 What are the future plans for SLAMD? Although we believe that SLAMD is currently very full-featured, we do have ideas about ways that it can be made even more powerful and easier to use in the future. See this page for more information on features that we are considering for future releases. 1.5 How can I learn more about SLAMD? The first place to look is the documentation. In particular, the Quick Start Guide should provide all the information you need to help you get SLAMD up and running quickly, and the Administration and Usage Guide can provide more complete details on using SLAMD. Next, you can join one or more of the mailing lists and either observe the discussions or get involved in them yourself. And of course you can always check out the source code and look through it to see exactly how it is all put together. Using SLAMD 2.1 Do I really need a directory server to use SLAMD? At the present time, yes you do. SLAMD stores its configuration and job data in an LDAP directory server, and needs this to function. Note that although SLAMD has been primarily used and tested with the Sun ONE Directory Server, it should work with any compliant LDAPv3 directory, and it has been tested and confirmed to work with OpenLDAP. See the Quick Start Guide for instructions on using SLAMD with OpenLDAP or another directory server. Also note that we do intend to eliminate this dependency on an external directory server by replacing it with an embedded database (most likley, the Berkeley DB Java Edition). 2.2 Why don't my jobs start running when they are supposed to? There could be a number of reasons for this. In most cases, when a job has been scheduled but has not yet started, it will include a pending reason field that will tell you why it might not have started running yet. The most common reasons for this include:
2.3 Why don't my jobs complete properly? If your jobs do start running, but they don't appear to stop properly, then there could be a number of reasons, including:
2.4 Why does viewing job information take so long? If it appears that SLAMD is taking a long time to display job results, especially if it had been much faster in the past, then the most likely reason is that the proper set of indexes have not been defined in the server. See the SLAMD Administration and Usage Guide for information on the indexes that should be defined in the directory server to allow SLAMD to find the information it needs quickly. If the correct indexes have been defined, then try to increase the amount of memory that the directory server can use for caching, increase the amount of memory that the SLAMD server can use, and/or increase the SLAMD job cache size. Open Source FAQ 3.1 Why did you open source SLAMD? There are a number of reasons for this, but one of the biggest is that we would like to see it become more widely used in the community for performance testing. We think that many of the features that it offers can help individuals perform more realistic and meaningful benchmarks, so that they can better understand the performance of the software they are testing and how it might compare with competing products. We would also like to see it become the de facto standard for performance testing and benchmarking in certain areas, particularly for LDAP directory servers, and we believe that making it open source may help in this because it is easy to see that there are no special optimizations for any particular product or vendor that could produce unrealistically favorable results in a benchmark that wouldn't be seen in real-world use. 3.2 Does this mean that Sun is abandoning SLAMD? Absolutely not. SLAMD is still under active development. In fact, we hope that releasing it under an open source license will spur development even further, and may encourage external developers to contribute code (e.g., jobs that they have written). Further, now that SLAMD is available under an OSI-approved Open Source license, we are more free to make use of other open source libraries that might enhance its functionality. 3.3 How can I get the source code to SLAMD? You can obtain the full source code to SLAMD, as well as all the supporting files and necessary build scripts, by checking it out from the CVS repository hosted on java.net. See this page for information on obtaining the source code from CVS. 3.4 How can I contribute to the development of SLAMD? In the short term, we expect to be making some pretty significant changes that touch a lot of the core code in the SLAMD server, so for the time being, we would prefer to limit the set of changes that we will accept in that area. However, we are very happy to accept contributed code based on external APIs, since we do not intend to change them. This includes new job classes, job scripts, resource monitors, optimization algorithms, and report generators. If you have developed such code and would like to share it with other users, then see this page for details. 3.5 How can I keep track of new developments? There are several ways to do this, but perhaps the best way is to join one or more of the mailing lists. The SLAMD-Announce list should be very low traffic and will include only announcements about new releases and other significant news, and messages from this list will only be allowed from a limited set of individuals. The SLAMD-Discuss list is a much more general-purpose list intended for questions, feature requests, comments, and general discussion, and we will often provide updates whenever smaller features are added that don't warrant a more widespread announcement. The SLAMD-Commit list will be used to provide details about every commit performed in the CVS repository, which will include everything from the addition of new features to bugfixes to correcting typos in the documentation. |