Editor's note: The R6iNotes and R6Mail workloads have not changed for Lotus Domino 7. These workloads are the latest versions and will work with Lotus Domino release 5, 6, 6.5, and 7.
Server.Load is Lotus Domino's feature-based load generation tool that measures and characterizes various Domino server capacity and response metrics. The workloads (also called tests or scripts) simulate the behavior of Domino client-to-server operations. For an overview of Server.Load, see the developerWorks Lotus article, "Introduction to Domino performance tuning." You can install Server.Load as an option when you install the Domino 7 Administrator client. Server.Load documentation is included in the Domino Administrator help.
The Domino Performance Team continues to add features and enhancements to the Server.Load utility that ships with the Domino Administrator client. We have added several customer-requested features, enhanced the built-in scripting language, and updated the support agents for Domino 7. (Note that the Domino 7 version of Server.Load is backward-compatible; you can use the Domino 7 Server.Load driver to drive workloads on Domino 5.x and 6.x servers.)
This article explains the Domino 7 enhancements we've made to Server.Load. It is intended for system administrators and designers interested in conducting performance tests in their Notes/Domino 7 environments.
There are two new workloads: the Cluster Mail Initialization and Cluster Mail workload, and the Enterprise Mail Initialization and Enterprise Mail workload (Entmail). The Cluster Mail workload executes Notes transactions that model a Domino server cluster for mail users. The Enterprise Mail workload also executes Notes transactions that model a Domino server cluster for mail users, and uses client-to-server replication with local mail files set for background replication every 15 minutes.
The new Enterprise Mail workload adds the following loads to the existing R6Mail (NRPC) workload:
- Replication
- Clustering
- A mix of server-based and local mail files
- Full text search
- Transaction logging
For more information on the Enterprise Mail workload, see the developerWorks Lotus article, "Lotus Domino 7 performance, Part 3: Enterprise mail performance."
In Domino 7, Server.Load now has the ability to collect and roll up detailed data from each test run. The Workload Data Rollup feature in Server.Load allows test data from a group of test client drivers, and the corresponding server under test, to be combined into a single, comma-delimited data file (CSV format). Two new scripts are used to accomplish this, the Workload Data Collection custom script, and the Workload Data Rollup built-in script.
The Workload Data Collection custom script is used during a workload run to collect performance data from the server under test. This contains various Domino and platform statistics that are valuable for analysis. We used a custom script so it can be tailored by the user to provide the necessary data for any given environment.
After the workload has completed, the Workload Data Rollup script can be used to roll up the results of the Workload Data Collection custom script, and the raw workload data generated during the run, into an easy-to-read CSV file. The CSV file can then be imported into a spreadsheet or graphing software to create performance graphs.
The Server.Load Workload Data Rollup script is run on a separate system from the test drivers that put the load on the system under test. Detailed instructions about the Server.Load Data Rollup and the Workload Data Collection custom script can be found in the Domino Administrator help.
Figure 1 shows an example of the comma-delimited output file for two client drivers created by Workload Data Rollup.
Figure 1. Sample output file

Optional server authentication
In prior versions of Server.Load, the user was required to authenticate to the server under test, regardless of whether or not a given workload needed authentication. The field "Server to receive Console Commands" in the Server.Load Metrics window (see figure 2) can now be left blank for workloads and scripts that do not need to authenticate with a server, such as the new Workload Data Rollup script. This also now allows creation of custom workload scripts that do not use NRPC server authentication, such as Internet-based mail. This allows more flexibility when writing scripts. One possible use could be to create a custom script using SMTP-based and POP3-based mail loads run against any type of mail server, such as an IBM Workplace mail server.
Figure 2. Server to receive Console Commands field

Collection of per-command response times in Server.Load
New in Domino 7, each Server.Load script command can be measured for the time it takes to execute (response time) during workload runs. This will output the data to a data directory file that will contain the response times for each Server.Load command that was issued during the run. For commands that were issued multiple times, it will list the number of times the command was called, and it will display the average response time for a given command. Entering NB_Collect_Response_Times in the test driver's Notes.ini file will enable output of per-command response times. The file will be in the results directory, and will have the name RespTime_OutFile-#, where # is the driver number.
To enable collection of per-command response times, add the following settings to the client driver's Notes.ini file:
NB_Collect_Response_Times=1
RESULTSDIRECTORY=C:\YourResultsDirectory
To disable collection of per-command response times, set NB_Collect_Response_Times=0 (or remove the setting). Figure 3 is an example of the comma-delimited output file created by NB_Collect_Response_Times.
Figure 3. NB_Collect_Response_Times output example

Domino SSL in the R6IMAP workload
The Domino 7 Server.Load client can be used to drive an SSL R6IMAP workload on a Domino 6 or 7 server that is set up for SSL. To enable SSL in the R6IMAP workload, add the setting NB_SSL_OPTION=USE_SSL to the Server.Load client driver's Notes.ini file. To disable SSL in the R6IMAP workload, remove this Notes.ini setting.
Note: For this release, you must put a space in the Server.Load script variables window for this variable if you are not using SSL with the R6IMAP workload. Other workloads are not affected.
FTSearch is now an option in the R6mail Routing Workload in Domino 7 and Domino 6.5.4. Activate the FTSearch option by setting the Notes.ini variable NB_Mail_FTSearch_Enabled=1. (See the section on the FTSearch command later in this article.)
The Create Person Document agent has been expanded to allow for clustered mail servers in both new workloads, and to support local mail file replicas in Enterprise Mail workload. See the Using This Database document in Namagent.nsf for complete information on these updates.
New Server.Load script commands
New script commands have been added to Server.Load's built-in scripting language, to support the new workloads and features that you can also use in your custom scripts. These include:
- FTSearch <query_kind> performs a full text search of the current database. The argument query_kind is the full text query; options are TWO_OR_TERMS (a Boolean OR of two random words, for example, FTSearch TWO_OR_TERMS); and MY_TERM (a specific word, for instance FTSearch MY_TERM magicword).
- SetReplID [datetime] sets the database replica ID. The argument [datetime], if specified, is used as the basis for the replica ID; otherwise the replica ID is based on the current date/time.
- DBClose closes the currently open database.
- CheckForNewMail <database> [pushlocal] checks for new mail on the specified database. The argument <database> is the filename of the mail database (or server!!file if remote). If local, then new mail is checked at the home mail server. If there is new mail, or the [pushlocal] option is provided, then two-way replication is performed.
- NewReplicateDb <source> <target> creates an empty database as a replica of the database specified in <source>. The <source> argument is the full filename of the source database (use server!!file if remote). The <target> argument is the full filename of new target database. Note: If a database of the same name exists with a different REPID, it will be overwritten!
This concludes our quick tour of new features in the Domino 7 version of Server.Load. For more information, consult the Domino Administrator help.
- For an overview of Server.Load, see the developerWorks Lotus article, "Introduction to Domino performance tuning."
- Server.Load documentation is included in the Domino Administrator help.
- For more information on the Enterprise Mail workload, see the developerWorks Lotus article, "Lotus Domino 7 performance, Part 3: Enterprise mail performance."
- For more information about all the features in Lotus Notes 7, see the developerWorks: Lotus article, "New features in Lotus Notes and Domino Designer 7.0."
- And for more information about new features in Lotus Domino 7, see the article, "New features in Lotus Domino 7.0."
- See the Lotus Notes/Domino product page for more information about the Lotus Notes and Domino products.
- Get involved in the developerWorks community by participating in
developerWorks blogs.
Joe Malek is a developer for the IBM Domino Performance team. His current focus involves developing performance tools for the Domino Performance team working on various platforms such as Microsoft .Net, Linux, IBM AIX, and Sun Solaris. Joe joined Iris Associates/Lotus in October 2000.
Louis (Lou) Bradbard started working at Iris in 1995. He has previously done quality assurance testing for the Domino Server and Programmability teams. He joined the Domino Server Performance team in November 1999 and is currently involved with testing various performance tools developed by the group. He is not ashamed of his love for the Apple Macintosh.




