Tools for Performance and Scalability Evaluation


Applies to: Exchange Server 2010 SP3, Exchange Server 2010 SP2

When evaluating the scalability and performance of Exchange in a lab environment, you can use tools provided by Microsoft to generate a simulated Exchange workload on your system and analyze the effect of that workload.

To determine how many Exchange 2010 servers are required to manage user load, use the following capacity planning tools:

  • Microsoft Exchange Jetstress

  • Microsoft Exchange Load Generator


    Microsoft Exchange Jetstress should be used on systems prior to placing production data on the server. Jetstress should not be used on systems containing production data. Exchange Load Generator is intended for use in test environments, not in production environments.

Exchange Server Jetstress 2010

The Jetstress tool is designed to simulate Exchange I/O at the database level by interacting directly with the database technology of the Extensible Storage Engine (ESE), also known as Jet, that Exchange is built on. Jetstress can be configured to test the maximum I/O throughput available to your disk subsystem within the required performance constraints of Exchange, or it can accept a desired profile of user count and I/Os per second per user and validate that the disk subsystem is capable of maintaining an acceptable level of performance with such a profile. Jetstress testing can be used to validate storage reliability and performance prior to the deployment of Exchange servers. You should run Jetstress if you are concerned about your storage subsystem performance or if you need to determine a system's I/O capacity.

The documentation for Jetstress describes how to configure and execute an I/O validation or evaluation on your server hardware. You can download Jetstress from Microsoft Exchange Server Jetstress 2010 (64 bit) and Microsoft Exchange Server Jetstress 2010 (32 bit).

For more information, see Microsoft Exchange Server Jetstress 2010.

Exchange Server Load Generator 2010

The Load Generator (LoadGen) tool is designed to produce a simulated client workload against a test Exchange deployment. This workload can be used to evaluate how Exchange performs, and can also be used to analyze the effect of various configuration changes on Exchange behavior and performance while the system is under load. The documentation for LoadGen describes how to configure and execute a load test against an Exchange server. LoadGen is capable of simulating Microsoft Office Outlook 2003 (online and cached), Outlook 2007 (online and cached), POP3, IMAP4, SMTP, ActiveSync, and Outlook Web App client activity. It can be used to generate a single-protocol workload, or these client protocols can be combined in some form to generate a multi-protocol workload.

Use the output from these tests in the following ways:

  • Validate deployments

  • Calculate the client computer response time for the server configuration under client load

  • Estimate the number of users per server

  • Identify bottlenecks on the server

You can download LoadGen at Exchange Load Generator 2010 (64 bit) and Exchange Load Generator 2010 (32 bit).

When to Use Performance and Scalability Tools

Jetstress and LoadGen are typically used as part of the pre-deployment process, either to provide data for hardware sizing requirements prior to hardware purchasing, or to analyze the stability and performance of a system prior to placing it into production.

Whenever possible, you should run a Jetstress test prior to placing a mailbox server into production. Jetstress testing is straightforward and can be accomplished with little additional work beyond the hardware setup and operating system configuration that would already be necessary prior to the installation of Exchange.

LoadGen testing is much more involved and should be considered and planned carefully. Set a realistic goal for the information to be obtained as a result of the test, and always remember that LoadGen doesn't provide a 100 percent accurate simulation of all client activity. Therefore, any measurements generated by Loadgen testing should be used as a part of your decision-making process and should not be the only data points used to make a final decision for server sizing or configuration changes.


Test tools like LoadGen are not designed to be run in a production environment and should never be run against a live production system or in an environment that has any connection to a live production system. Additionally, you should use extreme caution when running LoadGen against a test environment that contains copies of actual data, as it may be possible for LoadGen to act on messages in your test environment in such a way that outgoing mail leaves your test environment and ends up in a production mailbox (depending on the message routing configuration of your test environment).

Evaluating Test Results

Both Jetstress and LoadGen produce a test report at the conclusion of any test activity. The test report contains a high-level pass/fail metric that you can use to determine if the other reported values will be usable for server sizing or pre-deployment validation. Both tools also provide various performance metrics. In addition to the values provided in the test reports, you should read the tool documentation for additional suggestions about server performance counters that should be monitored during the test to evaluate system health and performance.

 © 2010 Microsoft Corporation. All rights reserved.