Microsoft® Exchange Server Profile Analyzer

Microsoft Corporation

Published: January 3, 2007

This document provides information about working with the Exchange Server Profile Analyzer. This tool helps administrators collect estimated statistical information from a single mailbox store or from across an entire Exchange Server organization. The collected data can then be used for tasks such as analyzing the performance and health of a server that has mailboxes.

Comments? Send feedback to

Contents

Microsoft Exchange Server Profile Analyzer 5

Prerequisites and Requirements 5

Installing Exchange Server Profile Analyzer 7

Recommendations for Effective Tool Operation 8

Running the Graphical User Interface 8

Running the Exchange Server Profile Analyzer Commands 9

Outlook Web Access Profile Analyzer Data Collectors 20

Frequently Asked Questions 22

For More Information 24

Copyright 25

23

Microsoft Exchange Server Profile Analyzer

The Microsoft® Exchange Server Profile Analyzer tool enables administrators to collect estimated statistical information from a single mailbox store or across an Exchange Server organization. You can use the collected data to do the following:

· Analyze the performance and health of a server that has mailboxes.

· Improve capacity planning models.

· Improve testing methodologies and tools.

· Improve future client and server products.

Note:

Statistics that are generated by the Exchange Server Profile Analyzer are estimates only. The accuracy of the estimates will vary depending on how users manage their mailboxes.

Prerequisites and Requirements

You must have the following software installed on any computer that the Exchange Server Profile Analyzer will be run on.

· Microsoft .NET Framework Version 2.0 Redistributable Package (x86) at http://go.microsoft.com/fwlink/?linkid=66763.

· The following operating systems are required for the tool to work correctly.

· Microsoft Windows®2000 Server SP4 (or later versions), Microsoft Windows XP SP2 (or later versions), or Microsoft WindowsServer® 2003 (or later versions)

Servers that are to be analyzed by the tool must be running one of the following:

· Exchange Server 2007, Exchange Server 2003 SP2 (or later versions), Exchange Server 2003, Exchange2000 Server SP3 (or later versions)

Required Permissions

The Exchange Server Profile Analyzer requires the following elevated permissions to run correctly.

· Exchange View-Only AdministratorRequired to obtain read-only access to Exchange configuration data in Active Directory® directory service. This can be set at the organization or Administrative Group levels.

· Full mailbox access for each mailbox that will be sampledRequired to enable the Exchange Server Profile Analyzer to read data from each mailbox to build the profile statistics. Be aware that data is not modified during this process.

Note:

The account that you select to run the Exchange Server Profile Analyzer must not be a member of the Domain Administrators group or the Enterprise Administrators group in Active Directory. Members of these groups inherit a set of "deny" access control entries on user mailboxes. Therefore, when Exchange Server Profile Analyzer is run by a member of either of these groups, it will be unable to sample data from user mailboxes.

Configuring Accounts on Exchange Server 2003

The following two procedures are for configuration tasks that use the Exchange System Manager (Exchange Server 2003). They outline how to configure an account as an Exchange View-Only Administrator and an account that has full mailbox permissions.

To configure an account as an Exchange View-Only Administrator

1. Open Exchange System Manager (ESM).
2. Right-click the Exchange organization name and then select Delegate control.
3. Click Next to move to the Users or Groups pane in the Exchange Administration Delegation Wizard.
4. Click Add to add a user.
5. Click Browse and select the user who you want to enable with Exchange View- Only Administrator permissions.
6. Make sure that Exchange View-Only Administrator is selected in the Role drop-down list, and then click OK.
7. Click Next and review the permission changes that will be applied because of your selections, and then click Finish.

To configure an account that has full mailbox permissions on all mailboxes stored on an Exchange server or on an individual mailbox store

1. Open ESM.
2. Right-click the object that you want to grant permissions to and then click Properties. The object can be either an Exchange server and the permissions will be inherited by all mailbox stores hosted on the server, or the object can be a particular mailbox store.
3. Click the Security tab.
4. Browse the list of users, and then select the user who you granted Exchange View-Only Administrator permissions for.
5. Scroll to the bottom of the Permissions list, and then click the Allow boxes for the following permissions: Receive As, Send As.
6. Click OK to apply the changes.
Configuring Accounts on Exchange Server 2007

In Exchange Server 2007, tasks are performed through the Exchange Management Console and the Exchange Management Shell.

· To add a user or group to an Exchange View-Only Administrator role, locate the Microsoft Exchange Server 2007 Help, and search for the topic, "How to Add a User or Group to an Administrator Role." This topic provides information for adding a user or group either by using the Exchange Management Console, or the Add-ExchangeAdministrator cmdlet in the Exchange Management Shell.

· To add full mailbox permissions on all mailboxes stored on an Exchange server or on an individual mailbox store, locate the Microsoft Exchange Server 2007 Help, and search for the topic, "Add-ADPermission." This topic provides information for adding permissions to an Active Directory directory service object.

The following cmdlets will assign the account "Send As" and "Receive As" permission on the server.

Get-ExchangeServer <servername> | Add-ADPermission -user <username> -AccessRights extendedright -ExtendedRights "send-as"

Get-ExchangeServer <servername> | Add-ADPermission -user <username> -AccessRights extendedright -ExtendedRights "receive-as"

Installing Exchange Server Profile Analyzer

To download the tool, go to the Tools for Exchange Server 2007 Web page at http://go.microsoft.com/fwlink/?linkid=79391.

The Exchange Server Profile Analyzer installer package (EPA.msi) contains the following files:

· EpaCmd.exeThe command-line version of the Exchange Server Profile Analyzer

· EpaWin.exeThe graphical user interface version of the Exchange Server Profile Analyzer

· EpaOWACmd.exeThe command-line tool for the Microsoft Office Outlook® Web Access mailbox analyzer

· EpaSummarizer.exeThe summary command-line tool for the Exchange Server Profile Analyzer

· ExProfAn.docThis user documentation for the tool

After you open the installer package, run the Microsoft Exchange Server Profile Analyzer Installation Wizard.

Recommendations for Effective Tool Operation

Important:

Make sure that the Exchange Server Profile Analyzer is run during a maintenance period to avoid a potential effect on server performance that could increase client access latency, and thereby adversely affect your Service Level Agreement (SLA).

The tool moves slowly through the data in the user mailboxes, at a rate of approximately 500KB to 1MB of data per second. Therefore, you should select a small, representative group of mailbox databases in your organization, and collect data from those databases only.

By default, the tool collects data from only a single mailbox on each server at the same time. To collect data from multiple mailbox databases at the same time, either run multiple instances of the tool by creating multiple configuration files, or change the configuration file by following the information in the "Entering Information in the Configuration File" section.

The effect of collecting data from each mailbox will resemble synchronizing a mailbox for a new Microsoft Office Outlook2003 cached mode user.

During the data collection process, we recommend that you monitor the mailbox servers and look for any significant increase in RPC Averaged Latency. This would indicate a performance problem on the server. If there are multiple instances of the tool running, this can increase the load on the server. If the server is experiencing performance issues because of this, reduce the number of instances of the tool running to keep the server in a healthy state.

Running the Graphical User Interface

The Exchange Server Profile Analyzer tool is available as a command-line tool and as a graphical user interface (GUI). Double-click EpaWin in the tools package to open the user interface.

Running the Exchange Server Profile Analyzer Commands

The following procedure outlines the general steps to follow when you run one of the commands.

To run commands for Exchange Server Profile Analyzer

1. Click Start, click Run, and then type cmd to open a command line.
2. Type one of the following commands at the command line: EpaCmd.exe, EpaOWACmd.exe, or EpaSummarizer.exe.
3. Click OK.
4. Follow the specific instructions for the applicable command outlined in later sections of this document.

During data collection, press Ctrl+C to stop the process.

The command-line version of the Exchange Server Profile Analyzer (EpaCmd.exe) uses a configuration file as input. The following table shows the options for the EpaCmd command and what they do.

Option / Function
/C: / Specify configuration file name. By default, Exchange Server Profile Analyzer looks for config.xml in the current directory.
/O: / Specify an optional output file name in .xml or .html file format. The default output file is located at the user's application data path. For example, C:\Documents and Settings\<username>\Application Data\Microsoft\Epa\epadataYYYYMMDD_HHMMSS.html.
/L: / Specify log file name. By default, the log file name is generated by Exchange Server Profile Analyzer. The default log file will be located at the user's application data path. For example, C:\Documents and Settings\<username>\Application Data\Microsoft\Epa\epalogYYYYMMDD_HHMMSS.log.
/? / Print the usage and exit.

Creating the Configuration File

The following sections explain the required input for the configuration file, and include a sample of the xml script.

Required Inputs

You must determine the following inputs to the tool before you continue.

· What account do you want to use to collect mailbox information?The account must have mailbox permissions to the mailbox stores that you want to examine.

· What domain controller should the tool connect to in order to gather Exchange topology information?This information is required only if you have multiple Active Directory forests. The domain controller should be located in the forest that contains the Exchange organization.

· Which Exchange servers do you want to collect data from?You can specify specific server names or use wildcard characters to select multiple servers.

· Which mailbox stores (databases) do you want to collect data from?Within each configured server, you can specify individual mailbox stores to collect data from, or specify the wildcard character (*) to collect data from all mailbox stores.

· Do you need to collect per-mailbox statistics?In addition to reporting aggregated statistics at the organization, server, and mailbox store levels, the tool can also gather per-mailbox statistics and report those in the output file. The tool does not display the actual mailbox or user names; it reports only statistics for each mailbox that can be used to better understand how the overall statistics were calculated.

· What type of messages do you want to output?By default, the Exchange Server Profile Analyzer produces informational messages, warnings, and error handling messages. However, you can specify the types of messages you want the tool to produce by using the configuration file.

· What timeframe do you want to collect data for?The tool can be configured to view only mailbox items that were generated during a particular time period. This option can help limit processing time, and can also be used to provide worst-case rates for peak usage periods.

· How many threads do you want to run at the same time for servers and mailboxes?This option is for advanced usage. The tool can process more than one server at a time, and, on each server, it can process more than one mailbox at the same time. The default setting is to process one mailbox at a time on the server and the servers will be processed one-by-one.

Entering Information in the Configuration File

After you determine what is required to run the tool, enter this information in the config.xml file. Open the config.xml file that is located in the EPA application directory (by default, this location is Program Files\EPA). Use any text editor, such as Notepad, to enter information in the file. Make sure that you save the file as soon as you complete it.

The following table shows an annotated config.xml file and describes each line and tag.

Config.xml tag / Description
<UserSetting> / This tag surrounds the whole configuration for Exchange Server Profile Analyzer. Do not modify in any way.
<System StatisticsPerMailbox="No" ServerThread="1" MailboxThreadPerServer="5"/> / To collect per-mailbox statistics, change the StatisticsPerMailbox value to "Yes." ServerThread and MailboxThreadPerServer are two hidden attributes in the System tag. The config.xml file that is dropped by the .msi file does not show these two attributes. ServerThread specifies how many servers you want to process at the same time. MailboxThreadPerServer indicates the number of mailboxes that Exchange Server Profile Analyzer will process at the same time on each server.
<Log Level="Info"/> / The supported log levels are as follows: Info, Error, Warning, and Verbose.
<TimeFrame From="" To="" /> / By default, all data is collected. To specify a timeframe, set the From and To values in the TimeFrame tag. The format of these values is:
MM/DD/YYYY HH:MM:SS
<Account User="" DC=""/> / By default, Exchange Server Profile Analyzer uses the credentials of the current user, and connects to a domain controller in the domain of the current user to gather Exchange organization topology information. To modify either parameter, enter that information in this tag. The User value should be specified as DOMAIN\USER, and the tool will prompt for the password for this account when it runs.
<Servers> / This tag surrounds all the Server tags that will be scanned during this run. Do not modify this tag.
<Server Name=""> / This tag represents either a single server that should be scanned as part of this run (by setting the Name value to the name of a specific server), or a group of servers represented by a wildcard in the Name value. To scan all servers, specify Name="*".
<MailboxStore Name=""StorageGroup =""/> / This tag represents either a single mailbox store (database) in the containing server, or multiple mailbox stores by specifying a wildcard in the Name value. There can be multiple MailboxStore tags in a server in the configuration file.
The StorageGroup attribute specifies which storage group the mailbox store belongs to. Specifying this attribute is useful when there are duplicate mailbox store names under different storage groups. You can safely ignore this attribute if each mailbox store has a unique name.
</Server> / Specifies the end of the configuration for a server.
</Servers> / Specifies the end of the configuration for all servers.
</UserSetting> / Specifies the end of the configuration file.
Output File

An .html file is produced in the user's application data directory that contains processed statistics together with an .xml file. To view the .html file, open it in Internet Explorer. With the help of EpaSummarizer.exe, the .xml files from different runs of Exchange Server Profile Analyzer can be used to generate a summary report.