Exchange User Profile Analysis for Exchange 2003 and 2007 (Exchange Server Profile Analyzer How to : EPA)
One thing that I often waffle on about is gathering good quality user profile data before beginning an Exchange design. I was out in Redmond recently and a new Exchange consultant asked me a great question.. “OK, so we know that gathering good quality user profile data is important… but where is it documented how to go about gathering the correct data?”
I thought about the question for a while and after searching online and finding pretty much nothing I decided it would be a good topic for a blog article… so here it is
What information do we need?
Basically we need sufficient information to complete our performance and scaling design work. Currently this usually consists of filling out the Mailbox Role Calculator (and another calculator that is coming soon uses the same values). The primary values we need are as follows…
- messages sent per mailbox per day
- messages received per mailbox per day
- average message size
How do we get it?
Now, that is an interesting question. Historically we would use the Exchange Server Profile Analyzer (EPA) for Exchange Server 2003 and Exchange Server 2007, however the EPA relies on WebDAV and that's obviously missing in Exchange Server 2010… gathering user profile data from an Exchange 2010 server is involved though and is a topic for another day
Using the Exchange Server Profile Analyzer
If you are analyzing an Exchange 2003 or 2007 organisation, the EPA is the easiest way to gather user profile data..
The following prerequisites must be met
- The Microsoft .NET Framework Version 2.0 Redistributable Package (x86) (http://go.microsoft.com/fwlink/?linkid=66763).
- One of the following operating systems
- Windows 2000 Server Service Pack 4
- Windows XP Service Pack 2 or a later version
- Windows Server 2003
- One of the following Exchange versions
- Exchange Server 2007
- Exchange Server 2003 Service Pack 2 or later
The EPA is available for download in two versions
Install the chosen MSI file on a suitable server. Often the best solution is to install the EPA onto an Exchange Server or Admin Console.
Creating the EPA Account
To run the EPA an account is required that has the following rights
- Exchange View Only Administrators
Instructions to create this account are detailed below…
Creating the EPA Account 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
- Open Exchange System Manager (ESM).
- Right-click the Exchange organization name and then select Delegate control.
- Click Next to move to the Users or Groups pane in the Exchange Administration Delegation Wizard.
- Click Add to add a user.
- Click Browse and select the user who you want to enable with Exchange View- Only Administrator permissions.
- Make sure that Exchange View-Only Administrator is selected in the Role drop-down list, and then click OK.
- 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
- Open ESM.
- 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.
- Click the Security tab.
- Browse the list of users, and then select the user who you granted Exchange View-Only Administrator permissions for.
- Scroll to the bottom of the Permissions list, and then click the Allow boxes for the following permissions: Receive As, Send As.
- Click OK to apply the changes.
Creating EPA Account 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"
NOTE: It may take a couple of hours before the new account rights are reflected by the Exchange server.
Running a Profile Analysis Scan
The Exchange Server Profile Analyzer should be available from the Windows Start Menu, under Exchange Server. Once started, the GUI will walk you through configuring a scan.
To begin click “Connect to Active Directory”
Configure the correct DC and user account to connect…
Configure the scan appropriately. For user profile analysis it is typically not required to gather individual mailbox statistics and this data just makes the report difficult to open once it has been generated. It can also be worthwhile to scope the scan timeframe to the last few months or weeks to reduce the amount of time that the scan takes.
Once scanning begins, it may take several hours or days to complete…
Speeding up the EPA scanning process
By default the EPA will scan servers one at a time and one mailbox at a time at a rate of between 500KB-1MB/sec. This default behaviour is designed to reduce any performance impact on the Exchange servers during the scan. However, on large deployments this may take a very long time to complete.
The configuration options to increase the number of servers and mailboxes that are scanned in parallel are hidden within the XML configuration file (to generate this XML file, simply configure the scan via the GUI and then save the configuration without running the scan).
A default scan configuration file…
<UserSetting> <System StatisticsPerMailbox="No"/> <Account DC="EX2K7DC1" User="epauser" /> <Log Level="Info" /> <TimeFrame From="01/08/2011 00:00:00" To="02/08/2011 11:59:59" /> <Servers> <Server Name="EX2K7E02"> <MailboxStore Name="Mailbox Database" StorageGroup="First Storage Group" /> </Server> </Servers> </UserSetting>
To increase the scan speed modify the following options under the “System” section
- ServerThread = Number of mailbox servers that will be scanned in parallel
- MailboxThreadPerServer=Number of mailboxes that will be scanned in parallel per server
<UserSetting> <System StatisticsPerMailbox="No" ServerThread="2" MailboxThreadPerServer="2" /> <Account DC="EX2K7DC1" User="epauser" /> <Log Level="Info" /> <TimeFrame From="01/08/2011 00:00:00" To="02/08/2011 11:59:59" /> <Servers> <Server Name="EX2K7E02"> <MailboxStore Name="Mailbox Database" StorageGroup="First Storage Group" /> </Server> </Servers> </UserSetting>
Making Sense of the Report…
Once the scan is completed the EPA will save a copy of the report. The best way to view the report is via a web browser. Navigate to %appdata%\Microsoft\EPA and open your report HTML file.
The report screen shows the following information…
From this report, we need to expand the “Message Size” section to expose the value recorded for “Aggregates of message size across all messages: avg: “
Additionally we need to expand the “Message Frequency” section and record the “Aggregates of messages received per weekday including dumpster” and “Aggregates of messages sent per weekday including dumpster”
Another often useful metric is for calendaring and availability..
In this example, my lab users profile is as follows…
- Average Message Size = 24.2KB
- Messages Sent Per Mailbox Per Day = 13.7
- Messages Received Per Mailbox Per Day = 53.0
- Meeting Requests Per Mailbox Per Day = 9.5
Running the Exchange Profile Analyzer is a fairly trivial and painless task, however it can often take several days or weeks to complete the scanning of a large environment. It is absolutely vital to discover this information as accurately as possible before beginning any Exchange scaling work with the Mailbox Role Calculator.
Neil Johnson [firstname.lastname@example.org] Senior Consultant, Microsoft Consulting Services, UK