Real-time collaboration has become a vital component of on demand business, and IBM Lotus Sametime has quickly grown into an important component of many IBM Lotus Notes/Domino environments. To ensure that these environments are optimally planned and configured, administrators need to simulate Sametime communities and to determine hardware and software sizing requirements. IBM Lotus Server.Load, the workload generation tool, includes new Sametime instant messaging workloads, ST70IM workload and ST75IM workload, that help fulfill this need.
Lotus Server.Load also includes the Sametime Initialization workload used to set up the test server for the other Sametime workloads by populating the Contacts lists. This article describes how to use the Sametime Initialization workload and explains the differences between the ST70IM and ST75IM workloads. Further information about the Lotus Sametime Workloads is included in the Lotus Domino Administrator help.
Lotus 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 Lotus Server.Load, see the developerWorks Lotus article, "Introduction to Domino performance tuning." You can install Lotus Server.Load when you install IBM Lotus Domino Administrator 7. If you're unfamiliar with Lotus Server.Load, review the documentation to understand how Lotus Server.Load affects your servers, clients, and other Notes/Domino components. Lotus Server.Load documentation is included in the Lotus Domino Administrator Help.
NOTE: You must use the version of Lotus Server.Load that comes with the Lotus Domino Administrator client.
This article assumes that you are an experienced Domino administrator and are familiar with Lotus Sametime instant messaging features and terminology.
The Sametime Initialization, ST70IM, and ST75IM workloads use Java and require at least 1 GB of RAM. For further information about the new Sametime workloads, parameters, and examples, refer to the Lotus Notes/Domino 7.0.2 Release Notes.
Both the ST70IM workload and the ST75IM workload simulate typical instant messaging activity. The ST70IM workload has a simpler set of activities, simulating a user using basic chat-related features common to releases prior to release 7.5. The ST75IM workload simulates the client features in release 7.5 and earlier. An average simulated user runs the script once every 15 minutes, which is one iteration.
The ST70IM workload represents an active instant messaging user logging in, chatting with another user, and exchanging approximately five messages that are approximately 512 bytes in length with 30 seconds between each message. The workload then adds a user to the Contacts list every 24th iteration, and every 12 iterations, it logs out and waits approximately 10 minutes before logging in again. The iteration values specified are configurable, and the values specified here are for example purposes.
When the ST75IM workload user logs in, the user's Sametime policy is retrieved, the user's location is set, and optionally, the location of each member of the Contacts list is monitored for location awareness (enabled by default). The workload represents an active instant messaging user logging in and chatting with another user in rich text mode, exchanging roughly five messages approximately 512 bytes in length with 30 seconds between each message. You can optionally enable file transfer. The workload then adds a user to the Contacts list every 24th iteration, and every 12 iterations, it logs out and waits approximately 10 minutes before logging in again.
With the Lotus Domino/Sametime server set up and with Lotus Server.Load installed on the client driver, you can now initialize the Sametime workloads. The next section describes how to do this. The Sametime Initialization workload is executed as the first step in the process. This is required for the proper population of the Sametime Contacts lists.
Setting up the Lotus Domino/Sametime server
Install Lotus Sametime on the Domino server, following the instructions in the Lotus Sametime documentation. After installing the Sametime server, verify that the Sametime task is running on the Domino server.
NOTE: You can set up Lotus Sametime on the same server as your Lotus Domino mail server, but it is not recommended with heavily used Lotus Domino/Sametime systems.
Creating Person documents using the Create NotesBench Person Documents agent
Using IBM Lotus Domino Designer, copy the Create NotesBench Person Documents agent in the Server.Load Setup Agents database into the Agents view of the Domino Directory of the test server. Refer to the Using this Database document of the Server.Load Setup Agents database for more information about these agents.
After copying the agent, open the Domino Directory on the test server and run the agent. In addition to creating the Person documents, this agent also sets the HTTP password used for Sametime authentication. Verify that the Internet address of the server is correct in the Internet Host Name dialog box and accept the default settings for the agent except as indicated in table 1.
Table 1. Exception to default settings
|Number of users to create||Default is 1000. Set this to the total number of test Sametime users you want created.|
You are now ready to populate the Sametime Contacts lists using the Sametime Initialization workload.
Setting up the Sametime Initialization workload
Before setting up the ST70IM or ST75IM workload, you must set up the Sametime Initialization workload. To do this, you must first install and set up the Lotus Domino Administrator client with the Lotus Server.Load option selected. After you complete the installation, you update the Notes.ini file.
Set Notes.ini variables for Sametime awareness on the client driver
Copy the set of variables in listing 1 into the Notes.ini file of the workload client driver and customize the values in bold for your environment. The current limitation for the workload is that the total population is divided into chunks of N users (1,000 in the examples below), and the ST.BL.beginuser.number and ST.BL.enduser.number varies accordingly on each client driver (1-1000,1001-2000, and so on). This is used by the ST70IM and ST75IM workloads to maintain the internal list of users available to chat.
Listing 1. Sametime Workload variables
;Sametime/Awareness vars ; NB_EnableSTAwareness=1 ;JNI/java params NB_ThreadStackSize=60000 JavaMaxHeapSize=400M JavaUserClasses=CstClientTest.jar;stjavatk.jar;jvm/lib/ext/ibmjceprovider.jar ;ST server params ;Example: Servername.us.ibm.com ST.server=<servername> ;Example: mail ST.user=<username prefix> ST.password=NotesBench ;login params ;Use to simulate a MUX hitting the server, performs better ;ST.login.type=MUX ;Use to simulate a direct client with no MUX in between ST.login.type=JAVA ;logout params ST.logout.pause.wait=RND(300d4) ;BL params ST.bl.size.quan=RND(4d100) ;Example: 1 ST.bl.beginuser.number=<number> ;Example: 500 ST.bl.enduser.number=<number> ;Chat params ST.converse.pause.wait=RND(10d6) ST.converse.nummessages.quan=RND(1d10) ST.converse.messagelength.quan=RND(8d128) ;Test/script control params ST.test.maxusers=10000 ContextIteration1=3 ContextIteration2=24 ContextIteration3=12 NB_Include_ST_Stats=1 ; ;General NotesBench vars ; Domain=<server domain> ResultsDirectory=<local drive or network share for testdata> Debug_outfile=<workload debug output file> RunTime=<time length of entire test> ScriptIterationLimit=<total number of script iterations, 9999 ~= forever>
Run the Sametime Initialization workload to populate Contacts lists for the test users
To run the Sametime Initialization workload, follow these steps:
- Open Lotus Server.Load.
- In the Lotus Server.Load dialog box, select Sametime Initialization from the Built-in workloads list.
- Enter the number of simulated Sametime users in the "Max No. of Users" field for which to create Contacts list entries. Use the default for all other settings. There are no settings needed in the Script Variables tab.
- Click the Execute button, and then click the Start Test button to start the Sametime Initialization workload. This populates the vpuserinfo.nsf database on the Sametime server with the Contacts list information needed for the Sametime Awareness feature used in the ST70IM and ST75IM workloads.
TIP: Save a copy of the vpuserinfo.nsf database.
Setting up the ST70IM or ST75IM workload
After setting up and running the Sametime Initialization workload, set up the ST70IM or ST75IM workload following these steps:
- In the Lotus Server.Load dialog box, select Sametime 7.0 IM Workload or Sametime 7.5 IM Workload in the Select Script menu (see figure 1).
Figure 1. Lotus Server.Load dialog box
- In the "Number of Users/Threads" field, enter the number of simulated Sametime test users. This a required field.
- Enter a value in the Script Loop Count field to specify the number of times the script repeats (loops).
- The Run Time Parameters section contains information (for example, thread creation interval) that affects how the workload runs. Complete those fields as needed.
- The "Storage test output to" field specifies the path to store the test output log, for example, \tmp\Test1.txt. Enter a file path in the field.
- Leave the other values set to defaults for the first test run. (Consult the Lotus Server.Load documentation in the Domino Administrator Help for details on these fields.)
- After you complete these fields, click Execute to display the Metrics window (see figure 2). Each Lotus Sametime command metric below shows the per minute Min, Max, and Average response times in milliseconds, and the per minute total number commands issued.
Figure 2. Metrics window
If you want to output the metrics data to a test file, enter a file path with a .CSV extension in the "Store the Metrics to this File" field. After you have entered the settings, click the Start Test button.
Viewing test results
If you set up the Sametime workload correctly, the script output window appears (see figure 3), followed by the Sametime Statistics window (see figure 4). Verify that no errors (that is text that includes the word error) appear in the output window.
Figure 3. Output Monitor
You can also check for errors in the Sametime Statistics window (see figure 4). This window keeps track of the activities (in summary format), while Lotus Server.Load executes the workload. To check for errors, look for the display values LoginErr, ChatErr, BuddyListErr, ResolveErr, UserInfoErr, PolicyErr, LocationErr, and FTransErr. If you set DEBUG_OUTFILE=filename in the Notes.ini, Lotus Server.Load writes the Sametime Statistics window data to the specified file.
Figure 4. Sametime Statistics window
The Sametime Statistics window includes per-minute sampling over all the users on this driver (see table 2).
Table 2. Description of values in Sametime Statistics window
|Logins||The number of logins|
|Logouts||The number of logouts|
|Chats||The number of chats initiated|
|Chat misses||The number of times a chat partner was not found|
|Text Sent||The number of text-only messages sent*|
|Text Received||The number of text-only messages received*|
|Images Sent||The number of images sent*|
|Images Received||The number of images received*|
|Status Changes||The number of status changes|
|BuddyList Changes||The number of times a new user was added to the Contacts list|
|Resolve||The number of resolves of user names|
|Awareness||The number of awareness-related operations (contact/watch list)|
|Async Status Notifications||The number of asynchronous status notifications|
|UserInfo Requests||The number of userinfo (business card) requests*|
|Policy Queries||The number of policies queried*|
|Location Ops||The number of location change operations*|
|Location Async||The number of asynchronous location notifications*|
|FTrans Sent||The number of file transfers sent*|
|FTrans Recvd||The number of file transfers received*|
|FTrans Declined||The number of file transfers declined*|
|FTrans Missed||The number of file transfers missed*|
|LoginErr||The number of login errors|
|ChatErr||The number of chat errors|
|BuddyListErr||The number of Contacts list operation errors|
|ResolveErr||The number of resolve errors|
|UserInfoErr||The number of userinfo (business card) request errors*|
|PolicyErr||The number of policy query errors*|
|LocationErr||The number of location change errors*|
|FTransErr||The number of file transfer errors*|
*Applies to ST75IM workload only.
This article explained how to set up and how to use the new Sametime instant messaging workloads, ST70IM and ST75IM, which are a part of Lotus Server.Load. It also addressed frequently asked questions that we've encountered. The workloads should be of special interest to Lotus Domino/Sametime system administrators and planners. By using the workloads to model the key activities in a real Sametime environment, you can emulate your server requirements and plan accordingly, helping to ensure that your Sametime deployment offers good performance right from the start.
- developerWorks Lotus article, "Upgrading to IBM Lotus Sametime V7.5"
- developerWorks Lotus article, "Introduction to Domino performance tuning"
- developerWorks Lotus article, "New workloads and features in Lotus Domino 7 Server.Load"
- Lotus Domino Administrator Help
- Lotus Notes/Domino V7.0.2 Release Notes
- Lotus Sametime product documentation
Get products and technologies
- Download a trial version of Lotus Domino from developerWorks.
- Download a trial version of Lotus Notes from developerWorks.
Dig deeper into IBM collaboration and social software on developerWorks
Experiment with new directions in software development.
Read and subscribe for the best and latest technical info to help you deal with your development challenges.
Software development in the cloud. Register today and get free private projects through 2014.
Evaluate IBM software and solutions, and transform challenges into opportunities.