The first article in this series (January 1998) focused on basic LoadSim topics, such as the theory behind LoadSim and the approach you use to test Microsoft Exchange with it. In part two (February 1998), I covered LoadSim installation and configuration. This month, I'll show you how to customize LoadSim, and in my next article, I'll show you how to collect and analyze data.

In part two, I proposed a scenario for walking through LoadSim installation and configuration. For my test scenario, I had two major requirements: First, I wanted to ensure that one server could sufficiently handle 300 users that closely match LoadSim's Medium user profile. Second, I wanted response times of 1 second or less. This value is standard, and users generally don't get impatient if response time stays in this range.

After installation and configuration, you're ready to run the test and start collecting data. For my scenario, you can skip customization because you'll use the default parameters in the Medium user profile. However, you might want to customize the parameters for future tests. In this article, I'll show you how to specify various parameters and settings.

Customizing Tasks
From LoadSim's main menu, go to Configuration, Test Properties to access the test properties. From there, click the Customize button to bring up the Customize Test property sheet, as Screen 1, page 178, shows. You'll see three tabs. The Tasks tab lets you customize the parameters for the various user tasks. The Test/Logon tab lets you configure how the LoadSim user handles logging on and off during the test. The Initialization tab lets you specify how you'll set up the Exchange database during the Initialize Test process.

The tab that you will be most concerned with when customizing LoadSim is the Tasks tab. Screen 1 lists seven tasks that represent activities LoadSim users can perform on the Exchange server. You can enable or disable any of these tasks; simply highlight the desired task and click the Enable/Disable task button. You can set up any task mix you want. In Screen 1, I have four tasks enabled: Send Mail, Process Inbox, Browse Mail, and Schedule+. These are the most common tasks a LoadSim user will perform and probably the tasks your real-world users will perform most often.

The number in the Frequency column represents the number of times per day each LoadSim user will execute each task. For example, my LoadSim users will send mail 4 times a day, process the Inbox (read new mail) 12 times a day, browse existing mail 15 times a day, and perform a Schedule+ action 5 times a day. Note that no public folder activity will occur, and the LoadSim users will not log off Exchange. Let's look at how to configure these values.

Click the Edit Tasks button to see the Task Properties sheet, which Screen 2, page 178, shows. This property sheet has seven tabs that correspond to the seven tasks shown in Screen 1. You can leave the default parameters in the tabs or change the parameters when you want to customize something. Some of the tabs pertain to public folders, which won't concern you for this test because our profile specifies no Public Folder activity.

Screen 2 shows the Send Mail tab. You use this tab to configure the user load as it pertains to sending email. The values in these boxes directly correspond to the values in the Medium user profile. They change as you select the Light, Medium, and Heavy user profiles from the Edit User Group dialog.

The Medium user profile calls for sending new mail four times a day, which the Frequency section reflects. From the Messages button, you configure the messages LoadSim sends. Screen 3 shows the Send Message Options dialog box that appears when you click the Messages button in the Send Mail tab. LoadSim contains a set of default files that comprise the content of messages, but you can create your own LoadSim messages.

When a user composes an email or sends an attachment, LoadSim uses the source files listed in the dialog box. LoadSim pulls the files into the mail messages as necessary. LoadSim assigns a weight to each file, as the Select messages from section of Screen 3 shows. This weight determines how often LoadSim uses the file in email. You can highlight the number in the Weight column and modify the value.

Microsoft used the Exchange client to create each LoadSim file and saved the files in the Exchange client's message format (.msg). This format is specific to Exchange and contains everything in the mail message, including text, formatting, attachments, and embedded objects. Table 1, page 180, describes each file listed in Screen 3. If you're curious, you can open any of these .msg files with the Exchange client or Outlook to see what is in them.

You don't need to specify to LoadSim how many messages have attachments, embedded objects, rich text, and so on. Because the .msg files include these attributes, specifying a weight for each file implicitly determines how often LoadSim will use a message with an attachment or a plain text message.

If the sum of the weights for all the .msg files equals 100 (or a multiple of 10), you can easily calculate how often, in percentage terms, LoadSim uses each file. For example, if a file has a weight of 60 out of a total of 100, LoadSim uses that file 60 percent (60/100) of the time. Notice that in the example in Screen 3, the default Medium user weights add up to 95. Unfortunately, Microsoft ships the profile this way. (The weights for the Light and Heavy profiles add up to 10 and 100, respectively.) So LoadSim sends the file, ups1k.msg, which has a weighting of 60, 64 percent (60/95) of the time. This percentage corresponds directly to the Medium user profile parameters in Table 2, page 181.

You can use your own files in place of the default message files. Simply create them with the Exchange client or Outlook and save each file in message format. Then add them to the message list with the Add Files button and assign a weight. With the remove button, you can remove files you don't want to use anymore.

Finally, the Set priority and Request receipts sections control what percentage of messages have priorities and receipts configured. When you finish working with messages, click OK to return to Screen 2.

The Number of recipients per message defaults to Use 3 random recipients. This configuration means each email has three recipients whom LoadSim selects randomly. The Between option more closely simulates the real world than setting a constant number of recipients per message, because you don't always send email to the same number of users. However, specifying a fixed number here makes the user load more predictable.

For this default profile, LoadSim adds a distribution list to the address list 30 percent of the time. This condition is in addition to, not in place of, the Number of recipients per message. The default profile also saves a copy of the sent email in the Sent Items folder.

The Process Inbox tab, shown in Screen 4, controls the part of the user load pertaining to reading new email. The numbers in these boxes directly correspond to the values in the Medium user profile in Table 2. They change as you select the Light, Medium, and Heavy user profiles.

The Frequency section of the Process Inbox tab controls how many times the user reads new mail during a day. (Remember, you define a day in the Test Properties sheet, as I explained in part two.) Each user is constantly getting mail from other users, and if you run Initialize Test, your users will also have existing mail to read. But no matter how many new emails a user gets in a day, the user reads only 12.

The Message actions section determines what LoadSim users do with each new mail message after reading it. The entries in the Message actions section correspond to the numbers in the Medium user profile. The Load section refers to how often users open and load an attachment. For example, the Load entry can simulate a user opening an Excel spreadsheet attached to an email message.

The Read Note delay represents how long the LoadSim user pauses to read the mail message before closing it (i.e., how long the message stays open). This value is 1 second, by default. I suppose that altering this value could alter the load the LoadSim client imposes, but the impact would be slight.

The Browse Mail tab is a counterpart to the Process Inbox tab. Process Inbox deals with new messages, and Browse Mail deals with already-read messages. From the Browse Mail tab, you set the frequency with which a LoadSim user reads existing messages. In the Medium user profile, a LoadSim user reads existing messages 15 times per day.

The next two tabs--the Public Folder Post and the Browse Public Folders tabs--control LoadSim user activity with public folders. They work just like their private store counterparts, so configuring them is easy.

You configure the Public Folder Post tab, shown in Screen 5, much like the Send Message Options dialog box, which you access from the Send Mail tab. You configure the Browse Public Folders tab, shown in Screen 6, much like the Process Inbox and Browse Mail tabs. Most of the public folders parameters function similarly to parameters for sending mail. For example, you can determine how many times each day to post messages to public folders. You can change the frequency for browsing public folder posts, and you can control message actions that occur after users read posts. Note that if you disable the corresponding public folder activities on the Task tab of Customize Test, as I have, LoadSim disregards these settings.

The next tab is Schedule+. This tab is self-explanatory, especially if you are familiar with Microsoft Schedule+. From this tab, you set the frequency with which LoadSim users update their schedules, and determine the minimum, maximum, and average schedule file size. If you disable the Schedule+ Actions Task Option in the Tasks tab of the Customize Test property sheet, LoadSim will disregard these settings.

The Logoff tab is also simple. From this tab, you specify the number of times the LoadSim users log off from Exchange Server per day. Leave the checkbox called Always keep MAPI session connection selected, unless you want to simulate users logging off the entire system. You create extra overhead, and thus extra server load, if you need to reestablish the MAPI session each time a logon occurs. If you disable the Logoff task in the Tasks tab of the Customize Test property sheet, as I have, LoadSim disregards these settings.

Customizing Test/Logon
Let's go back to the Customize Test property sheet and look at the remaining two tabs. The Test/Logon tab has two main sections--Logon/off properties and Test report--as Screen 7 shows.

The Logon/off properties section configures user schedules for logging on and off. Always choose Log on immediately at the very beginning of the test. As soon as you start LoadSim, the users start logging on. This setting is important because all the users log on at the same time at the beginning of the test instead of waiting until their first task to log on.

Log off at the end of each simulated day is optional. If you simulate only 1 day or less in your test, this setting doesn't matter. It lets you control how the users log off at the end of each LoadSim day. This setting works in addition to the number of times the users log off each day, which you specify in the Logoff tab of the Task Properties dialog box. You will typically leave Empty the Deleted Items folder on logoff selected.

The Test report section of the Test/Logon tab gives an overview of how much work the LoadSim user will produce. LoadSim calculates these numbers based on the various parameter settings. In Screen 7, the numbers correspond to the Medium user profile in Table 2. If you select the Light user profile, these numbers change to reflect that selection. If you change the average DL size in the Distribution lists tab of Topology Properties, the numbers change. Several parameters in LoadSim affect the calculations on this page.

Customizing Initialization
Before you run any tests against Exchange Server, you must initialize the database with mailboxes, folders, and messages. In effect, you're seeding the Exchange database store. You set these values from the Initialization tab under the Customize Test property sheet, which Screen 8 shows. When you run Initialize Test, the LoadSim client begins methodically stuffing mailboxes on the server with messages according to the parameters specified here. The four parameters in the Initialization dialog box determine what each LoadSim user's mailbox will look like: how many messages will be in the Inbox, how many messages will be in the Deleted Items folder, how many additional folders LoadSim will create, and how many messages will be in each of the created folders.

LoadSim sets all the parameters for Initialize Test automatically when you add a User Group with a specific user type to the Test Properties. In my example, the values for Initialize Test correspond to the Medium user profile.

Following Customization
I've shown you the basic steps you can take to customize LoadSim. This information, combined with the LoadSim theory, installation, and configuration I covered in parts one and two, provides a great foundation for using LoadSim. In part four, I'll cover initializing the Exchange database, running the test, and collecting and analyzing the data.