How to Initialize the Exchange Load Generator Test


Topic Last Modified: 2008-02-14

Before you run a Microsoft® Exchange Server Load Generator test, you must initialize the mailboxes that will be used for the test. The initialization process stores much data in each mailbox based on the <MailboxStoreProfile> tag in the configuration file. You should only run initialization from one computer.

However, if search indexing is running on the server, it competes with Exchange Load Generator for CPU resources. Depending on whether your goal is to run a highly accurate test or not, you can either disable the search service if you are not concerned about accuracy. Or if you do, you have two choices for running the Exchange Load Generator initialization.

  • Run Exchange Load Generator initialization from a separate client to allow all the system resources to be consumed by Exchange Services.

  • Run Exchange Load Generator initialization on the server with search service disabled during initialization. As soon as the initialization has finished, enable the search service and let it complete the indexing process all at one time. Be aware that this activity could take a very long time.

For detailed information about Exchange Search, see the FAQ in the Exchange 2007 Wiki at

When you initialize the test, Exchange Load Generator adds or deletes messages in the Inbox and folders of each user in the test so that each mailbox has the number of messages specified in the <MailboxStoreProfile> tag. Calendar items and Contacts are handled similarly.

Initialization can take several hours, or even a full day, to finish.

The procedure in this topic describes how to initialize the test using the command line and the configuration file. When you use this method, you must run a separate command for the mailbox store and for the public store.

If you use the graphical user interface, the mailbox store and public store initialization is automatically done together. You can step through the user interface until you are at the Configuration summary page, where you are given two choices:

  • Start the initialization phase. We recommend that you do this before you run the test.

  • Skip the initialization phase and run the simulation immediately

  1. Log on to the client computer by using domain credentials. If you have not joined the client computer to a domain, log on with a local administrator account. We recommend that you use a domain account because the user experience will be enhanced.

  2. Open a command shell and locate the Exchange Load Generator installation directory.

    Run the command LoadGenCmd.exe /r /c <configurationfile>, where configurationfile is the name of your configuration file. By default, this is LoadGenConfig.xml in the current directory if you have run LoadGenCmd.exe /g. Therefore, if you have not renamed your configuration file, the command is LoadGenCmd.exe /i.

    To view detailed trace information about the actions that the tool is doing, you can add a trace listener as a command-line option. Trace listeners can be files. Alternatively, they can be the console if you want to view the output on screen. To view the output on screen, add the option /add console. To output the trace.log, add the /add trace.log option at the command line. For example:
    C: \Program Files\Exchange Server Load Generator>LoadGenCmd.exe /i /add trace.log
    Microsoft Exchange Load Generator
    Configuring LoadGen task engine...
    Load settings...
    NOTE: There are no trace listeners found. You can add/remove shared trace listeners.
    Starting mailbox initialization...
  3. Monitor the progress of initialization tasks by using performance counters. Click Start, click Run, type perfmon, and then click OK.

  4. Add the following performance counters to your view:

    • Exchange Load Generator(_Total)\Task Queue Length

    • Exchange Load Generator(_Total)\Tasks Completed

    • Exchange Load Generator(_Total)\Tasks Dispatched

      The Tasks Dispatched counter equals the number of users whom you have configured for the test. One initialization task is dispatched for each user during the initialization process. The Tasks Completed counter shows the number of initialization tasks that have been completed. This value slowly increases to equal the value of the Tasks Dispatched counter until the initialization process is complete. The Tasks Queue Length counter displays the number of tasks that remain to be run. This value goes to zero when the initialization process is finished.

  5. To cancel the initialization process, see How to Stop the Simulation Process.

    During initialization, Exchange Load Generator will stop if it encounters errors such as network errors or errors connecting to the Exchange server or Active Directory. If you restart the initialization after you resolve the errors, Exchange Load Generator restarts with the first user. It does not delete and re-create the messages already in the Inbox and folders. This applies also to Calendar items and Contacts.
  6. If you decide to initialize public folders, run the command LoadGenCmd.exe /p /c <configuration file>, where configuration file is the name of your configuration file. Exchange Load Generator randomly determines the number of subfolders and messages in each folder, based on the minimum, maximum, and average parameters that are set in <PublicStoreProfile>.

    When Exchange Load Generator determines the number of subfolders and messages to create, it will create them if the number of existing folders is less. Alternatively, Exchange Load Generator will delete some existing public folders if the number of existing folders is more. If Exchange Load Generator stops the initialization, when you run it again and decide to initialize public folders again, the number of subfolders and messages Exchange Load Generator creates will not necessarily match the numbers from the previous initialization. We recommend that you delete all existing public folders before you run initialization again.